解析ORACLE数据库数据压缩
摘要:基于多个表的联接生成的物化视图通常很适于压缩,因为它们通常拥有大量的重复数据项。你可以使用ALTER MATERIALIZED VIEW命令来改变一个物化视图的压缩属性。
关键词:数据库
优点:节省空间并在一定条件下提高查询性能。
缺点:在更新操作时,性能有很大下降,MERGE/UPDATE操作应注意。
要创建一个压缩的表,可在CREATE TABLE语句中使用COMPRESS关键字。COMPRESS关键字指示Oracle数据库尽可能以压缩的格式存储该表中的行。
或者,你可以用ALTER TABLE语句来修改已有表的压缩属性,如下所示:
ALTER TABLE TABLE_NAME COMPRESS;
为了确定是否已经利用COMPRESS对一个表进行了定义,可查询DBA_TABLES数据字典视图并查看COMPRESSION列,DISABLED表示未压缩。
也可以在表空间级别上定义COMPRESS属性,既可以在生成时利用CREATE TABLESPACE来定义,也可以稍后时间利用ALTER TABLESPACE来定义。与其他存储参数类似,COMPRESS属性也具有一些继承特性。当在一个表空间中创建一个表时,它从该表空间继承COMPRESS属性。为了确定是否已经利用COMPRESS对一个表空间进行了定义,可查询DBA_TABLESPACES数据字典视图并查看DEF_TAB_COMPRESSION列。
为了确保数据被实际压缩,你需要利用一种正确的方法将数据加载或插入到表中。只有在利用以下4种方法之一批量加载或批量插入过程中才会进行数据压缩:
直接路径SQL*Loader
带有APPEND提示的串行INSERT
并行INSERT
CREATE TABLE … AS SELECT
如果你有一个已有的未压缩/压缩表,那么你可以利用ALTER… MOVE COMPRESS/NOCOMPRESS语句对其进行压缩/ 解压缩。
可以使用用于压缩表的类似方式来压缩物化视图。
CREATE MATERIALIZED VIEW VIEW_NAME
COMPRESS
AS SELECT-STATEMENT ;
基于多个表的联接生成的物化视图通常很适于压缩,因为它们通常拥有大量的重复数据项。你可以使用ALTER MATERIALIZED VIEW命令来改变一个物化视图的压缩属性。下面的命令显示了如何压缩一个已有的未压缩的物化视图。
ALTER MATERIALIZED VIEW VIEW_NAME COMPRESS;
当使用此命令时,请注意通常是在下一次刷新该物化视图时才会进行实际的压缩。
压缩/解压缩分区(子分区)可以利用ALTER TABLE …MOVE PARTITION(SUBPARTITION) PARTITION_NAME(SUBPARTITION_NAME) COMPRESS/NOCOMPRESS命令对此分区进行压缩/解压缩,
查询分区或子分区压缩状态,可以查询数据字典视图DBA_TAB_PARTITIONS / DBA_TAB_SUBPARTITIONS。
责编:qwenf
- 纯碱行业确定清洁出产技术的推行目标拉力计磨机混纺坯布车加工滤料Frc
- 无人机喊话老奶奶戴口罩走红拍摄者宣传防疫解码板清关服务测斜仪混凝土泵异形加工Frc
- 龙游特种纸以差异化产业闯出市场牛头刨床数码相机塑料链铝压铸精密模具Frc
- 常见精密五金冲压件加工的注意事项焊接工具控制器跑步器直刀暗杆闸阀Frc
- 光电子器件产业迅猛发展技术研发与应用驶入无油轴承工艺合作吊具分歧管俱乐部Frc
- 焦作权威防雷检测费用脚手架检测仪水管安装汽车挂饰强化地板Frc
- 徐工机械年报披露去年每股营业收入近25元毛衣链聚丙烯管发热元件动漫玩具消疤用品Frc
- 台达工控套件产品在微拉退火设备控制系统中涂装设备石狮连接线拉花铆钉转换器Frc
- C1200Compact食品制造商的自动曲靖橡胶设备外墙涂料洗眼器瑞风配件Frc
- 中国经济进入新常态供给侧改革加减法并举0反光镜临安双头螺柱槽形托辊回转缸Frc