原文链接 https://www.red-gate.com/simple-talk/sql/oracle/compression-oracle-basic-table-compression/
译者 周天鹏
在关于Oracle压缩的这一系列文章中,我们会研究下传统Oracle数据库系统的各类压缩方式,这意味着该系列文章的目录结构大概是:
1. 基础表压缩
2. OLTP表压缩
3. 索引压缩
但是,不讨论Exadata的hybrid columnar compression (HCC)。
在这三种压缩技术中,索引压缩和基础表压缩是产品自带的核心组件,但是,OLTP压缩需要独立的“Advanced Compression Option (ACO)” license授权。再第一篇文章中,我们先用基础表压缩造一些数据,把对数据更新删除的问题留到第二篇文章中,最后基于前两篇的铺垫,我们再研究下OLTP的压缩。索引压缩单独留在第四、第五篇中探讨。
本文主要目的是解答一些关于表压缩相关的经常被问到的问题。
基础表压缩何时起作用?
人们经常问道,“我如何造压缩数据”,“Oracle如何解压这些数据块”,“压缩对性能会造成什么影响”,还有一个人们在使用任何新特性前都会问的问题“有啥不为人知的副作用吗?”
回答第一个问题最简单的方法就是通过一个实际例子。这里有5条SQL,跑完后我们先收集表的统计信息,然后查一下表里有多少数据块和一些其他相当信息。
-- 1. Baseline CTAS
create table t1
as
select * from all_objects where rownum <= 50000;