av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Mysql性能優(yōu)化之索引下推

瀏覽:2日期:2023-10-05 08:11:14

索引下推(index condition pushdown )簡稱ICP,在Mysql5.6的版本上推出,用于優(yōu)化查詢。

在不使用ICP的情況下,在使用非主鍵索引(又叫普通索引或者二級索引)進(jìn)行查詢時(shí),存儲引擎通過索引檢索到數(shù)據(jù),然后返回給MySQL服務(wù)器,服務(wù)器然后判斷數(shù)據(jù)是否符合條件 。

在使用ICP的情況下,如果存在某些被索引的列的判斷條件時(shí),MySQL服務(wù)器將這一部分判斷條件傳遞給存儲引擎,然后由存儲引擎通過判斷索引是否符合MySQL服務(wù)器傳遞的條件,只有當(dāng)索引符合條件時(shí)才會將數(shù)據(jù)檢索出來返回給MySQL服務(wù)器 。

索引條件下推優(yōu)化可以減少存儲引擎查詢基礎(chǔ)表的次數(shù),也可以減少M(fèi)ySQL服務(wù)器從存儲引擎接收數(shù)據(jù)的次數(shù)。

開擼

在開始之前先先準(zhǔn)備一張用戶表(user),其中主要幾個(gè)字段有:id、name、age、address。建立聯(lián)合索引(name,age)。

假設(shè)有一個(gè)需求,要求匹配姓名第一個(gè)為陳的所有用戶,sql語句如下:

SELECT * from user where name like ’陳%’

根據(jù) '最佳左前綴' 的原則,這里使用了聯(lián)合索引(name,age)進(jìn)行了查詢,性能要比全表掃描肯定要高。

問題來了,如果有其他的條件呢?假設(shè)又有一個(gè)需求,要求匹配姓名第一個(gè)字為陳,年齡為20歲的用戶,此時(shí)的sql語句如下:

SELECT * from user where name like ’陳%’ and age=20

這條sql語句應(yīng)該如何執(zhí)行呢?下面對Mysql5.6之前版本和之后版本進(jìn)行分析。

Mysql5.6之前的版本

5.6之前的版本是沒有索引下推這個(gè)優(yōu)化的,因此執(zhí)行的過程如下圖:

Mysql性能優(yōu)化之索引下推

會忽略age這個(gè)字段,直接通過name進(jìn)行查詢,在(name,age)這課樹上查找到了兩個(gè)結(jié)果,id分別為2,1,然后拿著取到的id值一次次的回表查詢,因此這個(gè)過程需要回表兩次

Mysql5.6及之后版本

5.6版本添加了索引下推這個(gè)優(yōu)化,執(zhí)行的過程如下圖:

Mysql性能優(yōu)化之索引下推

InnoDB并沒有忽略age這個(gè)字段,而是在索引內(nèi)部就判斷了age是否等于20,對于不等于20的記錄直接跳過,因此在(name,age)這棵索引樹中只匹配到了一個(gè)記錄,此時(shí)拿著這個(gè)id去主鍵索引樹中回表查詢?nèi)繑?shù)據(jù),這個(gè)過程只需要回表一次

實(shí)踐

當(dāng)然上述的分析只是原理上的,我們可以實(shí)戰(zhàn)分析一下,因此陳某裝了Mysql5.6版本的Mysql,解析了上述的語句,如下圖:

Mysql性能優(yōu)化之索引下推

根據(jù)explain解析結(jié)果可以看出Extra的值為Using index condition,表示已經(jīng)使用了索引下推。

總結(jié)

索引下推在非主鍵索引上的優(yōu)化,可以有效減少回表的次數(shù),大大提升了查詢的效率。

關(guān)閉索引下推可以使用如下命令,配置文件的修改不再講述了,畢竟這么優(yōu)秀的功能干嘛關(guān)閉呢:

set optimizer_switch=’index_condition_pushdown=off’;

到此這篇關(guān)于Mysql性能優(yōu)化之索引下推的文章就介紹到這了,更多相關(guān)Mysql 索引下推內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产成人黄色 | 插插插视频 | txvlog.com | 日韩av在线不卡 | 日韩资源在线 | 成人av播放 | 黄色一级片网站 | 国产日韩一区二区 | 欧美理论在线观看 | 亚洲成人中文字幕 | 国产精品视频免费看 | 在线网站免费观看18 | 国产剧情一区 | 免费在线黄色网址 | 日韩黄色大片 | 免费三片在线播放 | 久草网在线观看 | 黄色小视频在线观看 | 国产中文字幕在线播放 | 91av在线看 | 成人免费福利视频 | 秋霞国产 | 美日韩精品 | 国产乱码精品一区二区三 | 肉丝美脚视频一区二区 | 欧美一二区| 精品在线播放 | 伊人网综合 | 亚洲经典一区二区 | 欧美一级片免费看 | 日韩一区在线播放 | 中文字幕观看 | 中文字幕在线免费视频 | 国产成人午夜 | 国产中文字幕一区 | 中文字幕在线观看不卡 | 成年视频在线观看 | 成人免费黄色片 | 午夜网站在线观看 | 日日干天天射 | 免费看一级毛片 |