列存索引配置参数说明

本文介绍了与列存索引相关的参数,以及参数说明内容。

参数

说明

loose_imci_auto_update_statistic

当统计信息过旧时,列存索引(IMCI)优化器是否重新收集统计信息。取值范围如下:

  • ASYNC(默认):当统计信息过旧时,列存索引(IMCI)优化器会异步采样并重新收集统计信息。

  • OFF:当统计信息过旧时,列存索引(IMCI)优化器不会重新收集统计信息。

  • SYNC:当统计信息过旧时,列存索引(IMCI)优化器会同步采样并重新收集统计信息。

loose_imci_enable_window_function

含有窗口函数的SQL语句能否使用列存索引功能。取值范围如下:

  • 2(默认):含有窗口函数的SQL语句可以使用列存索引功能。

  • 1:含有窗口函数,且窗口函数中不指定FRAME的SQL语句,可以使用列存索引功能。

  • 0:含有窗口函数的SQL语句不支持使用列存索引功能。

loose_imci_max_enum_join_pairs

在使用列存索引功能并开启连接重排序时,允许列存索引优化器搜索的等价执行计划数量。

取值范围:0~4294967295。默认值为2000。

loose_imci_min_virtual_memory

使用列存索引进行查询的最小内存。

取值范围:1~9223372036854775807。默认值为DBNodeClassMemory*3/20。单位为Byte。

loose_imci_max_virtual_memory

使用列存索引进行查询的最大内存。

取值范围:1~9223372036854775807。默认值为9223372036854775807。单位为Byte。

loose_imci_optimizer_switch

列存索引查询优化功能控制开关。取值范围如下:

  • use_imci_card_est:是否启用列存索引的基数估计和代价计算功能。取值如下:

    • OFF(默认):不启用列存索引的基数估计和代价计算功能。

    • ON:启用列存索引的基数估计和代价计算功能。

  • use_imci_join_reorder:是否启用列存索引的join reorder功能。取值如下:

    • OFF(默认):不启用列存索引的join reorder功能。

    • ON:启用列存索引的join reorder功能。

说明

如果查询语句中涉及的表没有统计信息,或未启用列存索引的基数估计和代价计算功能,即使该参数设置为ON,列存索引的join reorder功能也不会启用。

loose_imci_ap_threshold

分发至列存节点的SQL语句的预估执行代价阈值。

取值范围:1~18446744073709551615。默认值为50000。

说明

开启列存和行存自动引流功能后,如果SQL语句的预估执行代价阈值大于50000,则路由至列存节点。

loose_cost_threshold_for_imci

列存节点内部当前SQL语句的预估执行代价阈值。

取值范围:1~18446744073709551615。默认值为50000。

说明

开启列存和行存自动引流功能后,如果SQL语句的预估执行代价阈值大于50000,则选择列存执行计划。否则,选择行存执行计划。

loose_imci_enable_query_trace

列存索引查询优化过程中,是否打印内核错误日志的控制开关。取值范围如下:

  • OFF(默认):列存索引查询优化过程中,不打印内核错误日志。

  • ON:列存索引查询优化过程中,打印内核错误日志。

loose_polar_enable_implicit_imci_with_create_table

是否为所有新建的表添加全表覆盖的列索引。取值范围如下:

  • OFF(默认):不为所有新建的表添加全表覆盖的列索引。

  • ON:为所有新建的表添加全表覆盖的列索引。

loose_imci_columnar_advise_buffer_size

设置dbms_imci.columnar_advise();存储过程的可用内存大小。

取值范围:0~18446744073709551615。默认值为8388608。单位为Byte。

loose_etl_from_imci

是否从只读列存节点读取数据。取值如下:

  • OFF(默认):不从只读列存节点读取数据。

  • ON:从只读列存节点读取数据。

loose_etl_from_imci_compress

从只读列存节点读取数据时,是否需要压缩文件。取值如下:

  • OFF(默认):从只读列存节点读取数据时,不压缩文件。

  • ON:从只读列存节点读取数据时,压缩文件。

loose_imci_default_pack_shift

设置列存索引的行组(row group)大小。

取值范围:7~18。默认值为14。

说明

集群版本为PolarDB MySQL版8.0.1.1.36及以下时,该参数的默认值为16。

loose_slow_log_record_imci

设置是否在慢日志中添加与列存索引相关的信息。取值范围如下:

  • OFF(默认):在慢日志中不添加与列存索引相关的信息。

  • ON:在慢日志中添加与列存索引相关的信息。

loose_imci_default_write_policy

设置列存索引数据的写入策略。取值范围如下:

  • Tradeoff(默认):在Skip4K基础上进行优化,当写入的数据量小于1 MB时等价于ForPerformance。写入的数据量大于或等于1 MB时,尽可能地将数据分割到不同的文件中。

  • ForCapacity:优先考虑存储空间,尽可能地将数据切分后跨越多个文件进行写入,以最大化减少内部碎片,每次写入最多产生1个4 KB的内部碎片。

  • ForPerformance:优先考虑性能,每次写入时选择一个ExtentSize最合适的文件。IO性能最好,内部碎片率最大,空间浪费较多。

  • Skip4K:数据切分逻辑类似ForCapacity。大于4 KB的数据在写入时完全不考虑4 KB Extent,每次写入最多产生1个16 KB的内部碎片。