【Table Compression】表压缩技术概述及其历史演变

    • 概述
    • 表压缩优缺点
    • 表压缩分类
    • 表压缩技术的演化
      • 语法演化
    • 表压缩的确认

概述

本文介绍Oracle表压缩(Table Compression)技术概述及其历史演变

在Oracle数据库中,普通表(即堆表)可以进行压缩技术来提高数据库性能和节省存储空间。

表压缩优缺点

表压缩(Table Compression)的好处和缺点主要如下:

好处:节省磁盘空间、减少buffer cache的使用、减少I/O 、某些情况下还能加快查询执行时读的速度

缺点:加载数据和进行DML时消耗更多的CPU

表压缩分类

表压缩根据压缩方法不同可以分为以下几类:

基本表压缩(Basic table compression)
高级行压缩(Advanced row compression以前的11g版本也称为OLTP压缩)
混合列压缩(Hybrid Columnar Compression 简称EHCC)
    Warehouse compression
    Online archival compression

详细分类还可以参考在线文档中的下表:

Database Administrator’s Guide

20 Managing Tables
Consider Using Table Compression

【Table Compression】表压缩技术概述及其历史演变_第1张图片

Database SQL Language Reference

CREATE TABLE
table_compression

表压缩技术的演化

语法演化

9.2&10g版本:

ALTER TABLE <table_name> 
COMPRESS | NOCOMPRESS 

11.1版本:

ALTER TABLE <table_name> 
COMPRESS [ FOR { ALL | DIRECT_LOAD } OPERATIONS ] 
| NOCOMPRESS

11.2版本:

ALTER TABLE <table_name> 
COMPRESS [ BASIC 
           | FOR { OLTP
                 | { QUERY | ARCHIVE } [ LOW | HIGH ]
                 }
           ]
| NOCOMPRESS 

其中“COMPRESS FOR OLTP”用于代替11.1版本的“COMPRESS FOR ALL OPERATIONS”。

12.1版本:

ALTER TABLE <table_name> 
COMPRESS
| ROW STORE COMPRESS [ BASIC | ADVANCED ]
| COLUMN STORE COMPRESS [  FOR { QUERY | ARCHIVE } [ LOW | HIGH ] ]
  [ [NO] ROW LEVEL LOCKING ]
| NOCOMPRESS

表压缩的确认

我们可以通过ALL_TABLES/DBA_TABLES等视图的COMPRESSION和COMPRESS_FOR来查看表压缩的设置状况。

SQL> select table_name, compression, compress_for from user_tables;

【Table Compression】表压缩技术概述及其历史演变_第2张图片

版权声明:本文为博主原创文章,转载请注明出处,谢谢。http://blog.csdn.net/lukeunique

你可能感兴趣的:(oracle,数据库,压缩,compress)