电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Mysql性能優化之索引下推

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

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

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

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

索引條件下推優化可以減少存儲引擎查詢基礎表的次數,也可以減少MySQL服務器從存儲引擎接收數據的次數。

開擼

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

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

SELECT * from user where name like ’陳%’

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

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

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

這條sql語句應該如何執行呢?下面對Mysql5.6之前版本和之后版本進行分析。

Mysql5.6之前的版本

5.6之前的版本是沒有索引下推這個優化的,因此執行的過程如下圖:

Mysql性能優化之索引下推

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

Mysql5.6及之后版本

5.6版本添加了索引下推這個優化,執行的過程如下圖:

Mysql性能優化之索引下推

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

實踐

當然上述的分析只是原理上的,我們可以實戰分析一下,因此陳某裝了Mysql5.6版本的Mysql,解析了上述的語句,如下圖:

Mysql性能優化之索引下推

根據explain解析結果可以看出Extra的值為Using index condition,表示已經使用了索引下推。

總結

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

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

set optimizer_switch=’index_condition_pushdown=off’;

到此這篇關于Mysql性能優化之索引下推的文章就介紹到這了,更多相關Mysql 索引下推內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 三板富 | 专注于新三板的第一垂直服务平台 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 工业用品一站式采购平台|南创工品汇-官网|广州南创 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 环球周刊网| 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 塑料薄膜_PP薄膜_聚乙烯薄膜-常州市鑫美新材料包装厂 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 环比机械 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 |