勵志

勵志人生知識庫

索引下推是什麼

資料庫查詢最佳化技術

索引下推(Index Condition Pushdown,簡稱ICP)是MySQL 5.6版本中引入的一項資料庫查詢最佳化技術。

索引下推的主要作用在於利用資料庫引擎中的索引和過濾條件,將部分過濾工作下推到存儲引擎層面進行處理。這樣做的目的是為了減少不必要的數據讀取和傳輸,從而提升查詢效率。在沒有使用ICP的情況下,當使用非主鍵索引進行查詢時,存儲引擎會先通過索引檢索到數據,然後返回給MySQL伺服器,由伺服器判斷數據是否符合條件。而在使用ICP的情況下,MySQL伺服器可以將一部分判斷條件傳遞給存儲引擎,由存儲引擎先判斷索引是否符合條件,只有當索引符合條件時,才會將數據檢索出來返回給MySQL伺服器。

此外,索引下推也可以在遍歷聯合索引的過程中,對索引中包含的所有欄位先做判斷,過濾掉不符合條件的記錄之後再回表,這樣能有效減少回表次數。