索引的 COMPRESSED 选项

如果索引拥有 2000 或更多的键,则可使用 CREATE INDEX 语句的 COMPRESSED 关键字压缩 B-tree 索引。

您可以在分片表或未分片表上创建压缩的索引。

您不能创建的压缩的索引是集群索引。然而,您可以通过运行带 index compress 参数的 SQL 管理 API task()admin() 函数压缩现有的集群索引。

要被压缩,索引中的分片或索引必须具有至少 2000 个键。如果您在创建不具有足够多的键的索引时使用 COMPRESSED 选项,则数据库服务器在创建该索引时不会压缩该索引或分片。即使向该索引添加键,其仍然保持未压缩状态。如果您想要压缩该索引,则运行带 index compress 参数的 SQL 管理 API task()admin() 函数。

如果表没有足够的数据来提供足够大的索引键样本,则数据库服务器不会压缩该索引或分片。即使将最小数量的新键添加到现有未压缩的索引中,数据库服务器仍不会压缩该索引。 然而,压缩索引后,数据库服务器压缩并插入任何新的键到该索引中。

以下示例在 customer 表的 address 列创建了一个名为 cust3_ix 的压缩的索引:
CREATE INDEX cust3_ix ON customer (address) COMPRESSED 
          EXTENT SIZE 32 NEXT SIZE 32; 
以下示例创建了一个唯一的压缩的索引:
CREATE UNIQUE INDEX cust3_ix ON customer (address) COMPRESSED ;