亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL Index Condition Pushdown(ICP)的使用限制有哪些

發布時間:2021-11-03 09:44:27 來源:億速云 閱讀:143 作者:小新 欄目:MySQL數據庫

小編給大家分享一下MySQL Index Condition Pushdown(ICP)的使用限制有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

ICP(index condition pushdown)是mysql利用索引(二級索引)元組和篩字段在索引中的where條件從表中提取數據記錄的一種優化操作。ICP的思想是:存儲引擎在訪問索引的時候檢查篩選字段在索引中的where條件(pushed index condition,推送的索引條件),如果索引元組中的數據不滿足推送的索引條件,那么就過濾掉該條數據記錄。ICP(優化器)盡可能的把index condition的處理從server層下推到storage engine層。storage engine使用索引過過濾不相關的數據,僅返回符合index condition條件的數據給server層。也是說數據過濾盡可能在storage engine層進行,而不是返回所有數據給server層,然后后再根據where條件進行過濾。

Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一種在存儲引擎層使用索引過濾數據的一種優化方式。

a 當關閉ICP時,index 僅僅是data access 的一種訪問方式,存儲引擎通過索引回表獲取的數據會傳遞到MySQL Server 層進行where條件過濾。

b 當打開ICP時,如果部分where條件能使用索引中的字段,MySQL Server 會把這部分下推到引擎層,可以利用index過濾的where條件在存儲引擎層進行數據過濾,而非將所有通過index access的結果傳遞到MySQL server層進行where過濾.

優化效果:ICP能減少引擎層訪問基表的次數和MySQL Server 訪問存儲引擎的次數,減少io次數,提高查詢語句性能。

ICP 開啟時 ,MySQL將在存儲引擎層 利用索引過濾數據,減少不必要的回表,注意 虛線的using where 表示如果where條件中含有沒有被索引的字段,則還是要經過MySQL Server 層過濾。

 ICP的使用限制:

1 當sql需要全表訪問時,ICP的優化策略可用于range, ref, eq_ref,  ref_or_null 類型的訪問數據方法 。

2 支持InnoDB和MyISAM表。

3 ICP只能用于二級索引,不能用于主索引。

4 并非全部where條件都可以用ICP篩選。

   如果where條件的字段不在索引列中,還是要讀取整表的記錄到server端做where過濾。

5 ICP的加速效果取決于在存儲引擎內通過ICP篩選掉的數據的比例。

6 5.6 版本的不支持分表的ICP 功能,5.7 版本的開始支持。

7 當sql 使用覆蓋索引時,不支持ICP 優化方法。

看完了這篇文章,相信你對“MySQL Index Condition Pushdown(ICP)的使用限制有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉义县| 连江县| 金平| 冕宁县| 呈贡县| 赤水市| 烟台市| 乐平市| 大连市| 库车县| 汨罗市| 宁都县| 新巴尔虎右旗| 兴文县| 罗源县| 永靖县| 平江县| 安多县| 清河县| 章丘市| 贵州省| 太仆寺旗| 新蔡县| 德昌县| 越西县| 曲松县| 罗江县| 阿克苏市| 敦煌市| 双柏县| 武胜县| 从化市| 元阳县| 仙桃市| 柳河县| 时尚| 永城市| 三都| 青岛市| 吉木萨尔县| 大渡口区|