oracle-oracle表压缩技术(二)何时应用

oracle-oracle表压缩技术(2)何时应用


表压缩技术给类似于计费系统详单库这样的需要大量空间的数据库带来了福音,这些数据库有如下特征:

 

1)、单表较大,一般都有几个甚至几十个G;

 

2)、只进行insert操作,不会进行update和delete操作;

 

3)、应该主要考虑数据库空间的占用情况,由于查询的机会不多,因此可以牺牲一定的查询效率,甚至不需要建立索引。

Oracle 的表压缩技术(Table Compression),是在Oracle9i第2版中引入的新特性。压缩是在数据库的数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留空间,以便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被称作符号表(symbol table)。当在一个数据库行中出现被标识为要压缩的数据时,该行在该符号表中存储一个指向相关数据的指针,而不是数据本身。对于那些只加载一次但多次读取的只读表格表压缩技术具有最佳效果,对于用户或应用程序开发人员来说,表压缩的效果是透明的。

压缩表,其语法是“alter table XXXX move compress”,效果比较好,压缩后表的大小是原来的20%~26%。按官方的说法由于表可以存储在更少的数据块中,查询速度比未压缩时会有提高,但是由于详单表查询的机会不多,因此体会不深。表压缩的代价是详单入库的时间会比未压缩的表慢20%,同时要多消耗5%左右的CPU,由于数据库服务器性能较高,所以这些代价可以接受