GBase 8s 提供若干方式来指定 B 型树扫描程序线程将压缩索引页的级别。要优化空间和事务处理,可以在索引增长迅速时降低压缩级别。 如果索引有很少的删除和插入操作或者执行批量更新,可以提升级别。
用以下任意选项指定实例的压缩级别:
SET INDEX COMPRESSION, partition number, compression level
以如下方式将 BTSCANNER 配置参数的压缩选项设置为缺省值:
BTSCANNER num=4,threshold=10000,rangesize=-1,alice=6,compression=default
以如下方式将 BTSCANNER 配置参数的压缩选项设置为高:
BTSCANNER num=4,threshold=5000,compression=high
使用 onmode -C 来指定压缩级别,如下所示:
onmode –C compression high
运行以下任一 SQL 管理 API 函数为具有分区编号 1048960 的索引的单个分段设置压缩级别:
EXECUTE FUNCTION TASK("SET INDEX COMPRESSION", 1048960, "DEFAULT");
EXECUTE FUNCTION ADMIN("SET INDEX COMPRESSION", 1048960, "LOW");
运行以下 SELECT 语句来对所有索引分段执行任务函数。此命令为名为 db1 的数据库中名为 idx1 的索引的所有分段设置压缩级别。
SELECT sysadmin:TASK("SET INDEX COMPRESSION", partnum, "MED") FROM sysmaster:systabnames WHERE dbsname = 'dbs1' AND tabname = 'idx1';
还可以运行以下 SELECT TASK 语句来对所有索引分段执行任务函数,并为所有分段设置压缩级别。
SELECT TASK("SET INDEX COMPRESSION", partn, "MED") FROM dbs1:systables t, dbs1:sysfragments f WHERE f.tabid = t.tabid AND f.fragtype = 'I' AND indexname ='idx1';