onmode -C: 控制 B-tree 扫描程序

可以使用 onmode -C 命令控制 B-tree 扫描程序并且指定关于 B-tree 扫描程序线程的信息。

语法:
元素 用途 关键注意事项
-C 控制用于清除已删除项索引的 B-tree 扫描程序 对同时运行的线程的数量没有限制。然而,可同时启动的线程数限制为 128 个。 例如:如果您想要运行 150 个线程,那么要执行两条命令:onmode -C 100onmode -C 50
start count 启动其他的 B-tree 扫描程序线程 如果没有指定 count ,那么假定count 1。对可以指定扫描程序线程数量没有限制。

stop countkill count

停止 B-tree 扫描程序线程 如果没有指定 count ,那么假定count 1 。 停止所有的所有扫描程序以阻止所有的所有被清除。

上述任一命令都可以停止 B-tree 扫描程序

threshold size count 设置在热列表上放置之前索引必须遇到的已删除项的最小数量 一旦所有超过阈值的索引都被清除并且 B-tree 扫描仪也没有别的工作,在该阈值之下的索引就会被添加到热列表
duration num 热列表处于有效状态的秒数 在秒数到期之后,热列表会由下一个可用的 B-tree 扫描程序重建,即使表上有未处理的项目。不会中断扫描程序当前正在处理的请求
rangesize size 在启用索引范围清除之前,确定索引的大小 大小为 -1 的值可用来禁用范围扫描
alice num 设置系统的 alice 方式 有效 num 值的范围是:0 (OFF) 到 12
compression value 对于数据库服务器实例,更改,合并两个部分使用的索引页的级别。如果这些页上的数据合计设定级别,那么页合并 级别的可用值为: lowmed (中等)、highdefault 。系统的缺省值是 med

B-tree 扫描程序有追踪索引的有效性以及当前索引放在服务器上的额外工作量的统计信息。基于由删除的索引项引起的索引已完成的额外工作量,B-tree 扫描程序生成了称为“热表”的整齐索引列表,这使得服务器做了额外的工作。将清除导致最高额外工作量的索引,然后以递减的方式清除剩下的索引。 DBA 可以动态地分配清除线程,因此允许可配置的工作负载。

该命令有等同的 SQL 管理 API 函数。