表和分片压缩和解压缩操作(SQL 管理 API)

您可用 SQL 管理 API admin() 或 task() 函数和参数压缩和解压缩表中或表分片中的数据。压缩操作仅适用于数据行的内容和那些出现在逻辑日志记录中的数据行的映像。

在每一 GBase 8s 实例的 sysadmin 数据库中,定义内建 SQL 管理 API admin() 或 task() 函数。缺省情况下,仅用户 gbasedbt 可调用这些函数。如果将 sysadmin 数据库上的 Connect 权限授予用户 root 或 DBSA 组成员,则当他们直接地或远程地连接到 sysadmin 数据库时,他们也可调用 SQL 管理 API admin() 或 task() 函数。

您可在表和表分片中用于压缩和解压缩操作的 SQL 管理 API admin() 或 task() 命令参数为:

table 压缩参数
对于指定表的所有分片执行不同的操作。要了解更多信息,请参阅 table 或 fragment 参数:压缩数据和优化存储(SQL 管理 API)。
fragment 压缩参数
对于属于特定表的单个分片或指定的分片集合执行不同的压缩操作。要了解更多信息,请参阅 table 或 fragment 参数:压缩数据和优化存储(SQL 管理 API)。
compression purge_dictionary
删除所有不活动的压缩字典或在您指定日期之前创建的所有不活动的压缩字典。要了解更多信息,请参阅 清除压缩字典参数:移除压缩字典(SQL 管理 API)。

表和分片压缩操作包括创建压缩字典、估计压缩率、压缩表和表分片中的数据、合并空闲空间(重新打包)、归还空闲空间到 dbspace(收缩)、解压缩数据以及删除个别的表和分片压缩字典。

当您运行 SQL 管理 API 压缩和解压缩命令时,压缩和解压缩 dbspace 中的行数据和简单大对象。您还可指定是否仅压缩或解压缩行数据,或仅压缩或解压缩 dbspace 中的简单大对象。

admin() 命令返回一个整数;task() 命令返回一个字符串。

要了解关于您可压缩的数据类型、压缩率、压缩估计和压缩字典的信息,以及使用压缩命令参数的步骤, 请参阅 GBase 8s 管理员指南 中的行数据的压缩。要了解关于显示压缩信息的实用程序以及 sysmaster 表和视图的信息,请参阅 syscompdicts_full。

您还可压缩、优化存储和估计对 B-tree 的压缩收益。请参阅 index compress repack shrink 参数:优化 B-tree 索引的存储(SQL 管理 API) 和 index estimate_compression 参数:估计索引压缩(SQL 管理 API)。