概述
本文介绍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
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;
版权声明:本文为博主原创文章,转载请注明出处,谢谢。http://blog.csdn.net/lukeunique