<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前面已經講了MySQL的其他查詢效能優化方式,沒看過可以去了解一下:
今天要講的是MySQL的另一種查詢效能優化方式 — 索引下推(Index Condition Pushdown,簡稱ICP),是MySQL5.6版本增加的特性。
主要作用有兩個:
總之就是了提升MySQL查詢效能。
建立一張使用者表,造點資料驗證一下:
CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主鍵', `name` varchar(100) NOT NULL COMMENT '姓名', `age` tinyint NOT NULL COMMENT '年齡', `gender` tinyint NOT NULL COMMENT '性別', PRIMARY KEY (`id`), KEY `idx_name_age` (`name`,`age`) ) ENGINE=InnoDB COMMENT='使用者表';
在 姓名和年齡 (name
,age
) 兩個欄位上建立聯合索引。
查詢SQL執行計劃,驗證一下是否用到索引下推:
explain select * from user where name='一燈' and age>2;
執行計劃中的Extra列顯示了Using index condition,表示用到了索引下推的優化邏輯。
檢視索引下推的設定:
show variables like '%optimizer_switch%';
如果輸出結果中,顯示 index_condition_pushdown=on,表示開啟了索引下推。
也可以手動開啟索引下推:
set optimizer_switch="index_condition_pushdown=on";
關閉索引下推:
set optimizer_switch="index_condition_pushdown=off";
索引下推在底層到底是怎麼實現的?
是怎麼減少了回表的次數?
又減少了儲存引擎和MySQL Server層的資料傳輸量?
在沒有使用索引下推的情況,查詢過程是這樣的:
畫兩張圖,就一目瞭然了。
下面這張圖是回表查詢的過程:
下面這張圖是儲存引擎返回給MySQL Server端的處理過程:
我們再看一下在使用索引下推的情況,查詢過程是這樣的:
現在是不是理解了索引下推的兩個作用:
再附一張Explain執行計劃詳解圖:
到此這篇關於MySQL查詢效能優化索引下推的文章就介紹到這了,更多相關MySQL索引下推內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45