注册
oracle表压缩迁移至达梦空间对比
专栏/db follower/ 文章详情 /

oracle表压缩迁移至达梦空间对比

wayne 2023/11/05 2009 3 0
摘要 记录测试oracle正常表、普通压缩表、高级压缩表一定数量下的表大小,以及迁移到达梦数据库后的大小对比,以作为对达梦数据库数据存储的基础理解。

测试说明
Oracle版本为19.3、字符集AL32UTF8、达梦数据库版本为dm8、字符集UTF-8
oracle数据库都使用最基础的表创建语句,即创建堆组织表,达梦数据库直接从oracle数据库中使用DTS进行迁移。
Oracle表大小测试
随机生成1000万数据量,使用如下语句进行生成:
create table t1 as select rownum as id, DBMS_RANDOM.string('X',10) c2,DBMS_RANDOM.string('X',20) c3,DBMS_RANDOM.string('X',15) c4,DBMS_RANDOM.string('X',5) c5,DBMS_RANDOM.string('X',10) c6 from dual connect by level<=5000000;

创建完成后,使用如下语句查询表大小:
select segment_name,bytes/1024/1024 from dba_segments where segment_name='T1'
查询结果表大小为2814MB:
image.png
从T1复制创建表T2:
create table t2 as select * from t1;
查询其大小为:
image.png
执行基础表压缩,其语法为:
alter table t2 compress;
image.png
alter table t2 move;
image.png
即压缩后大小为2566MB;
执行高级表压缩,其语法为:
alter table t2 compress for oltp;
alter table t2 move;
image.png
查询表大小为2560MB
DM迁移表大小测试
oracle正常表1000万的记录导入到DM8数据库中,使用如下语句查询表大小:
SELECT TABLE_USED_SPACE('SYSDBA', 'T1')*PAGE()/1024/1024;
查询结果表大小为921MB:
image.png
Oracle压缩表1000万记录导入到DM8数据库中,查询结果表大小为:
image.png
测试总结
总结结果如下:
Oracle正常表大小 Oracle基础压缩表大小 Oracle高级压缩表大小 oracle正常表迁移到DM后表大小 oracle压缩表迁移到DM后表大小

Oracle正常表大小 Oracle基础压缩表大小 Oracle高级压缩表大小 oracle正常表迁移到DM后表大小 oracle压缩表迁移到DM后表大小
2816MB 2566MB 2560MB 8K page:931MB 16K page:924MB 32k page:920MB 8K page:931MB 16K page:924MB 32K page:920MB
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服