索引下推(index condition pushdown )簡稱icp,在mysql5.6的版本上推出,用於優化查詢。
在不使用icp的情況下,在使用非主鍵索引(又叫普通索引或者二級索引)進行查詢時,儲存引擎通過索引檢索到資料,然後返回給mysql伺服器,伺服器然後判斷資料是否符合條件 。
在使用icp的情況下,如果存在某些被索引的列的判斷條件時,mysql伺服器將這一部分判斷條件傳遞給儲存引擎,然後由儲存引擎通過判斷索引是否符合mysql伺服器傳遞的條件,只有當索引符合條件時才會將資料檢索出來返回給mysql伺服器 。
索引條件下推優化可以減少儲存引擎查詢基礎表的次數,也可以減少mysql伺服器從儲存引擎接收資料的次數。
select * from user where name like '陳%'
select * from user where name like '陳%' and age=20mysql索引下推 MySQL中的索引下推
前段時間看了一下資料庫相關知識,出現了索引下推這個名詞,有必要記錄下來作為知識儲備。索引下推用一句話總結是 索引下推是資料庫檢索資料過程中為減少回表次數而做的優化。首先介紹下什麼是資料庫回表,回表是一種資料庫檢索過程。通常發生在使用二級索引檢索非主索引資料的過程中。舉個例子 usertest資料表 ...
MySQL索引分析和優化 什麼是索引?
mysql索引分析和優化 什麼是索引?索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b 樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜尋條件的列上已經建立了索引,...
MySQL索引效能優化
紅黑樹 hash表,是現在可以選擇的索引資料結構 b tree b tree b tree變種 可以保證樹的高度,就算記錄數多的時候查詢的次數也比較少,效率高,所有是現在預設使用的索引資料結構 在聯合索引的情況下,都在遵循最左字首法制 這個也是因為節點的資料索引是由第乙個索引先通過索引最左字首原理 ...