Oracle -在线回缩表

conn scott/tiger

DROP TABLE EMP1 PURGE;

CREATE TABLE EMP1 AS SELECT * FROM EMP;

alter table emp1 enable row movement;

-- 启动回缩特性

insert into emp1 select * from emp1;

/

/

commit;

-- 增加到14000行

-- 分析表的结构

analyze table emp1 compute statistics;

select NUM_ROWS,BLOCKS,EMPTY_BLOCKS,AVG_SPACE from tabs where table_name='EMP1';

-- 查询高水位

delete emp1 where deptno=30;

commit;

-- 删除一半的数据

analyze table emp1 compute statistics;

-- 分析表的结构

select NUM_ROWS,BLOCKS,EMPTY_BLOCKS,AVG_SPACE from tabs where table_name='EMP1';

-- 查询高水位

SELECT DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK#,COUNT(*) FROM EMP1

GROUP BY DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID);

-- 查询块内行的分布

SELECT EXTENT_ID,BLOCK_ID,BLOCKS FROM DBA_EXTENTS WHERE SEGMENT_NAME='EMP1';

-- 将数据挪动到表的前端,但不回缩高水位

alter table EMP1 shrink space compact;

-- 回缩高水位

alter table EMP1 shrink space ;

analyze table emp1 compute statistics;

select NUM_ROWS,BLOCKS,EMPTY_BLOCKS,AVG_SPACE from tabs where table_name='EMP1';

该特性和压缩的特性冲突。

相关推荐
lunz_fly19921 小时前
Oracle清理:如何安全删除trace, alert和archivelog文件?
oracle
薛定谔的算法3 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend4 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术5 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维10 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉10 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud1 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化