onmode 和 C 参数:控制 B-tree 扫描程序(SQL 管理 API)

随同 admin()task() 函数,使用 onmodeC 参数来控制 B-tree 扫描程序清除已删除条目的索引。

语法

元素 描述 关键考虑
alice_mode 系统的 alice 模式。 0OFF)至 12 范围内的有效整数值。
compression_level 对于数据库服务器实例,两个部分地已使用索引页的合并级别。如果那些页上的数据总数达到设置的级别,则合并页。 级别的有效值为 lowmed(中级)、highdefault。系统缺省值为 med
dur_num 热列表有效的秒数。 这个秒数期满后,即使列表上有未处理的条目,也由下一个可用的 B-tree 扫描程序线程重建热列表。正在处理请求的扫描程序不中断。
range_size 在启用索引范围清除之前索引的大小。 可用大小 -1 来禁用范围扫描。
start_count 要启动的 B-tree 扫描程序线程数。 如未指定 start_count,则再启动一个线程。同时最多可启动 32 个线程。但是,同时运行的扫描程序线程数没有限制。
stop_count 要停止的 B-tree 扫描程序线程数。 如未指定 stop_count,则停止单个线程。停止所有索引扫描程序防止所有索引清除。

如果您指定一个比正在运行的线程数更大的 stop_count 值,则不发出错误提示,但是停止所有扫描程序线程。

thresh_size 在索引置于热列表上之前,索引必须遇到的删除条目的最小数。 在阈值之上的所有索引都已清除,且没有 B-tree 扫描程序要做的其他工作之后,阈值之下的索引被添加到热列表。

用法

B-tree 扫描程序有统计信息,追踪索引效率以及索引在服务器上增添了多少额外工作。根据因为提交的删除索引条目索引已经完成的额外工作量,B-tree 扫描程序开发一个导致服务器做额外工作的索引的排序列表,称为热列表。 首先清除索引导致的额外工作的最高量,并以递减的顺序清除剩余的索引。DBA 可动态地分配清除线程来配置工作负载。

这个函数等同于 onmode -C 命令。

示例

下列命令启动 60 个 B-tree 扫描程序线程:
EXECUTE FUNCTION admin("onmode","C","start","30"); 
          EXECUTE FUNCTION admin("onmode","C","start","30");
下列命令停止所有这些线程:
EXECUTE FUNCTION admin("onmode","C","stop","30000"); 
          
stop_count 值大于正在运行的线程数时,不发出错误提示。