B-tree 索引的存储(SQL 管理 API)
随同 admin() 或 task() 函数,使用 index compress repack shrink 参数来压缩分离的
B-tree 索引,合并空闲空间(重新打包)并归还分区中的空闲空间(收缩)。
语法:索引压缩命令参数
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 752 -
命令参数
下表包含每一参数的简要说明。
表 1. 索引压缩操作的参数
参数
描述
compress
压缩索引。
parallel
并行地运行压缩或重新打包操作。
为每一表的分片或分片列
表启动一个线程,且跨越这些分片并行地运行该操作。
repack
通过将数据移到索引的前部来合并空闲空间。
shrink
将索引末端的空闲空间归还到 dbspace,从而减少索引的总
大小。
命令元素
下表显示您可用来压缩、重新打包和收缩索引的元素。
表 2. 索引压缩命令元素
元素
描述
关键考虑
index_name
您想要压缩的索引名称。
必需的。
您必须使用系统目录表中相同的大写或小
写字母。
database_name
包含您想要压缩的索引的
数据库名。
可选的。
如果您未指定数据库,
则数据库服务器使用
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 753 -
元素
描述
关键考虑
当前的数据库。
如果您输入数据库名,
则必须使用与系统目
录表中相同的大写或小写字母。
owner
包含您想要压缩的索引的
数据库的所有者名。
可选的。
如果您未指定所有者,
则数据库服务器使用
当前的所有者。
如果您输入所有者名,
则必须使用与系统目
录表中相同的大写或小写字母。
用法
您可压缩一个在分片的或未分片的表上分离的 B-tree 索引。
要被压缩,索引必须有至少 2000 个键。如果索引内的分片没有至少 2000 个键,则当创
建索引时数据库服务器不压缩索引或分片。即使有新的键添加到索引,索引也保持不压缩。
如果您想要压缩该索引,
请运行另一个带有 index
compress 参数的 SQL 管理 API
task()
或 admin() 函数。
要确定索引是否包含最小键数,请运行 oncheck -pT 命令并查看 Number of keys 域中的
信息。
通常情况下,请您在压缩操作之后执行重新打包操作,并在重新操作之后执行收缩。
压缩操作仅压缩索引的叶子(底层)。
你可取消操作,例如在 DB-Access 中按下 CTRL-C。
你不可解压缩索引。如果您想要解压缩索引,则可删除压缩的索引并重新创建它。
示例
下列命令并行地压缩、重新打包并收缩索引。
EXECUTE FUNCTION task("index compress repack shrink parallel",
"ind5", "customer", "jayson");