91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

庄浪县| 尚志市| 天门市| 封开县| 合江县| 梁平县| 平武县| 慈溪市| 永宁县| 安阳市| 卢湾区| 巴南区| 旅游| 胶南市| 东乡族自治县| 子洲县| 霸州市| 衡山县| 双峰县| 那坡县| 皋兰县| 太湖县| 浮梁县| 沙洋县| 乳山市| 永修县| 密山市| 达日县| 德保县| 龙海市| 五寨县| 长白| 铜川市| 宜城市| 余姚市| 台湾省| 绿春县| 缙云县| 时尚| 周宁县| 固原市|