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

时间:2022-04-14 01:39:09

概述

本文介绍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】表压缩技术概述及其历史演变

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】表压缩技术概述及其历史演变

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