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';

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

相关推荐
leegong231111 小时前
PostgreSQL 初中级认证可以一起学吗?
数据库
秋野酱3 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
weisian1513 小时前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
AI航海家(Ethan)3 小时前
PostgreSQL数据库的运行机制和架构体系
数据库·postgresql·架构
Kendra9196 小时前
数据库(MySQL)
数据库·mysql
时光书签7 小时前
Mongodb副本集群为什么选择3个节点不选择4个节点
数据库·mongodb·nosql
人才程序员9 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯9 小时前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术9 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱9 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite