全部產品
Search
文件中心

PolarDB:列存索引配置參數說明

更新時間:Jul 02, 2025

本文介紹了與列存索引相關的參數,以及參數說明內容。

參數

說明

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

是否在滿足條件的查詢語句中使用Hybrid Plan加速寬表查詢。取值範圍如下:

  • 'force_hybrid_index_search=OFF'(預設):不強制使用Hybrid Plan加速寬表查詢(通過最佳化器自動選擇)。

  • 'force_hybrid_index_search=ON':強制使用Hybrid Plan加速寬表查詢。

說明

如果查詢語句中涉及的表沒有統計資訊,或未啟用列存索引的基數估計和代價計算功能,即使該參數設定為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的內部片段。