使用列存索引(IMCI)查詢復雜的SQL語句時,需要列存索引覆蓋SQL語句中使用到的所有列。PolarDB MySQL版內置了一系列存儲過程,您可以使用這些存儲過程獲取SQL語句中未被索引覆蓋的列名,同時可以獲取創建列存索引的DDL語句。本文介紹了PolarDB MySQL版內置的存儲過程以及如何使用存儲過程輔助創建列存索引。
簡介
PolarDB MySQL版內置的存儲過程如下:
檢查SQL語句中是否存在未被索引覆蓋的列的存儲過程:dbms_imci.check_columnar_index()。
獲取創建列存索引的DDL語句的存儲過程:dbms_imci.columnar_advise()和dbms_imci.columnar_advise_by_columns()。
批量獲取創建列存索引的DDL語句的存儲過程:dbms_imci.columnar_advise_begin() 、dbms_imci.columnar_advise_show() 和dbms_imci.columnar_advise_end()。
使用說明
使用列存索引查詢復雜的SQL語句時,您需要檢查SQL語句中是否存在未被索引覆蓋的列,若存在未被列存索引覆蓋的列,您可以針對某條SQL語句獲取創建列存索引的DDL語句或針對某個業務批量獲取創建列存索引的DDL語句,執行獲取到的DDL語句,使得SQL語句中的所有列都被列存索引覆蓋后,再使用列存索引加速查詢功能。
文檔內容是否對您有幫助?