基本表压缩主要用于较少更新的表,如数据仓库。它通过压缩由直接路径加载插入的数据来减少存储空间。这种压缩方式支持有限的数据类型和 SQL 操作。
|
1 2 3 4 |
CREATE TABLE my_table ( id NUMBER, large_text CLOB ) COMPRESS BASIC; |
特点:
OLTP 表压缩适用于 OLTP 应用程序,能够压缩任何 SQL 操作的数据。这种压缩方式在存储压缩行时采用行主格式,所有列存储在一起,从而提高读取性能。
|
1 2 3 4 |
CREATE TABLE my_oltp_table ( id NUMBER, large_text CLOB ) COMPRESS FOR OLTP; |
特点:
为避免对业务产生影响,Oracle 建议对新写入数据不进行压缩,而对超过半年或一年的数据进行压缩。在进行数据压缩时,为减少 free space 及 undo space 的压力,建议对单个分区逐一进行压缩。
|
1 2 |
ALTER TABLE my_table MOVE PARTITION p1 COMPRESS FOR OLTP; |
实施策略:
表压缩不仅节省存储空间,还提高了数据库的性能。Oracle 可以直接读取压缩数据块,减少 I/O,从而提高性能。此外,压缩数据块可以更高效地利用 buffer cache。
好处:
Oracle 数据库中的表压缩技术提供了多种选项,以适应不同的应用场景和需求。通过合理配置和使用这些压缩技术,可以显著优化存储空间和提高数据库性能。