Oracle中的表压缩和索引压缩

0    166    1

Tags:

👉 本文共约5478个字,系统预计阅读时间或需21分钟。

从Oracle9iR2 开始,ORACLE提供了表/表空间压缩技术,以减少磁盘开销,节省空间,并在某些情况下提高查询性能。

简介

随着数据库规模的不断增大,磁盘空间成为大型企业数据库管理的一个重要问题。Oracle提供了压缩表的功能来帮助释放磁盘空间,使企业更有效地管理其数据库。

Oracle表压缩功能很容易使用且非常有效,它可以帮助企业节省数据库存储空间和硬件成本,并提高数据库性能。

在压缩表之前,要确保备份数据,并在压缩非繁忙时间段进行操作,以避免影响正常业务。

此外,压缩表联机重建功能应该启用以确保在查询时自动解压缩数据块。

Oracle支持在表空间(tablespace)、数据表(table)和分区(Partition)级别的压缩,如果设置为表空间级别,那么默认将该表空间中的全部的表都进行压缩。
压缩操作可以在数据单条插入、数据修改和数据批量导入时发生。

随着数据库不断增长,可以考虑使用表压缩。压缩可以节省磁盘空间,减少数据库buffer cache内存使用,并且可以加速查询。

压缩对于数据装载和DML操作有一定的CPU消耗。然而,这些消耗可以为I/O的减少而抵消。

表压缩对于应用程序完全透明。对于DSS系统、在线事务处理和归档系统都很有用处。

你可以为表空间,表或者一个分区指定压缩。如果指定为表空间压缩,那么该表空间所有表创建后默认都启用压缩。

什么是Oracle压缩表?

Oracle压缩表是一种称为OLTP压缩(OLTP Compression)的压缩模型,它可以大大减少磁盘空间的使用,从而提高数据库的性能。这种压缩模式不会影响查询速度,因为Oracle会自动解压缩数据块,并在查询之前将其发送到缓存中。在压缩表中,相同数据类型的值被存储在一起,并使用更少的字节数来表示它们。

Oracle压缩表的好处

使用Oracle表压缩功能有以下好处:

  1. 减少磁盘使用:压缩表可以减少磁盘使用,从而减少数据库的存储成本。

  2. 提高性能:由于表中的数据较少,查询时间会更短,从而提高Oracle数据库的性能。

  3. 增加可存储数据:由于使用的物理存储空间较小,可以增加可以存储的数据量。

压缩类型

在Oracle数据库中,压缩表的命令是ALTER TABLE语句与COMPRESS选项的结合。

Oracle提供了一下四种类型的表压缩方法:

1、Basic Compression:压缩等级High,CPU开销较小

2、OLTP Compression:压缩等级High,CPU开销较小

3、Warehouse Compression:压缩等级Higher,CPU开销较大(取决于压缩参数是Low还是High)

4、Archive Compression:压缩等级Highest,CPU开销很大(取决于压缩参数是Low还是High)

当使用Basic Compression,warehouse Compression,Archive Compression类型的压缩时,尽在发生批量数据导入时才会执行压缩。

OLTP Compression被用于联机事务处理系统,可以对任意的SQL操作执行数据压缩。

Warehouse Compression和Archive Compression可以获得很高的压缩等级,因为它们采用了Hybrid Columnar(混合列)压缩技术,Hybrid Columnar采用一种改良的列的存储形式替代一行为主的存储形式。Hybird Columnar技术允许将相同的数据存储在一起,提高了压缩算法的效率。当使用混合列压缩算法时,将导致更多的CPU开销,因此这种压缩技术适用于更新不频繁的数据。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
Oracle中的表压缩和索引压缩后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部