1、压缩表一般是用于OLAP系统中,表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数据库的数据块级别上进行的,一般通过表压缩空间会压缩1/3到1/2。
2、压缩表是用CPU来减少IO。
3、创建压缩表的方法(1)创建表的时候进行压缩
create table t3 (tno number,tname varchar2(20),tsal varchar2(20)) compress;
(2)可以对创建完的表进行
alter table t3 compress
来改变压缩表的属性。
4、为了确保数据被实际压缩,你需要利用一种正确的方法将数据加载或插入到表中。只有在利用以下4种方法之一批量加载或批量插入过程中才会进行数据压缩:
直接路径SQL*Loader
带有APPEND提示的串行INSERT
并行INSERT
CREATE TABLE ... AS SELECT
并行插入时的语法:
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+PARALLEL(SALES_HISTORY_COMP,4)*/
INTO SALES_HISTORY_COMP
SELECT * FROM SALES_HISTORY;
注意:批量才能够进行压缩,
11g里在插入时一次次执行其实性能是不如批量插入。如果表经常进行DML操作,是不适合进行表压缩的。