ITPub博客

首页 > 数据库 > Oracle > 11g_Table_Compression

11g_Table_Compression

原创 Oracle 作者:zhyuh 时间:2009-09-24 14:18:35 0 删除 编辑
下面的表可以对所有操作实现压缩存储,而不仅仅是之前版本的direct patch insert。[@more@]

create table my_compressed_table (
col1 number(20),

col2 varchar2(300),

...
)compress for all operations
在11g中,当数据插入/修改的时候,oracle会象正常表一样存储,只有当块中的重复值达到oracle自己定义的阀值时,压缩动作才会被触发,重复的值被存到Symbol Table中,然后每行中只存储相应值的标记(symbol)。取数据的时候,根据标记从Symbol Table中返回真实值。

压缩和解压缩难免会消耗掉大量cpu,但是因为压缩动作的滞后性,对DML的性能影响并不大。据此oracle说这种压缩表也可以用在OLTP系统中。个人觉得OLTP上的效果还有待事实检验,但是压缩存储空间后,对网络传输数据、备份等方面的好处是不言而喻的。

块压缩前后示意图:

11g_Table_Compression

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/207/viewspace-1027310/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 11g_Readonly_Table
下一篇: 11g_Datapump
请登录后发表评论 登录
全部评论
  • 博文量
    233
  • 访问量
    2061863