生产环境MySQL索引时效的排查过程是什么
作者:WeekendFlower
时间:2023-05-01
来源:正软商城
浏览:2
问题:mysql>explainSELECT*FROMartisan_incomeWHEREparent_idIN(222645481,222583953,222181775,222180931,222081126,221678753,221616102,221591783,221219312,221195482,221118672,220763129,220654289,220633930,220323633,220227641,219825564,219720338,219321345,2192919
本文目录
问题:
mysql>explain SELECT * FROM artisan_income WHERE parent_id IN ( 222645481, 222583953, 222181775, 222180931, 222081126, 221678753, 221616102, 221591783, 221219312, 221195482, 221118672, 220763129, 220654289, 220633930, 220323633, 220227641, 219825564, 219720338, 219321345, 219291958 ) \G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: artisan_income partitions: type: ALL possible_keys: idx_parent_id key: key_len: ref: rows: 20711352 filtered: 100 Extra: Using where
确实是全表扫描,带着疑问我们把生产环境数据同步到测试库,方便测试,然后在测试环境进行查询。
mysql>explain SELECT * FROM artisan_income WHERE parent_id IN ( 222645481, 222583953, 222181775, 222180931, 222081126, 221678753, 221616102, 221591783, 221219312, 221195482, 221118672, 220763129, 220654289, 220633930, 220323633, 220227641, 219825564, 219720338, 219321345, 219291958 ) \G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: artisan_income partitions: type: range possible_keys: idx_parent_id key: idx_parent_id key_len: 5 ref: rows: 1870780 filtered: 100 Extra: Using index condition
发现在测试环境就用到了parent_id字段的索引,生产库和测试库同样都是5.7的版本,数据也几乎一样,但是执行计划不一样,第一时间想到了统计信息的问题,于是进行analyze table
analyze table artisan_income;
然后查看执行计划:
mysql>explain SELECT * FROM artisan_income WHERE parent_id IN ( 222645481, 222583953, 222181775, 222180931, 222081126, 221678753, 221616102, 221591783, 221219312, 221195482, 221118672, 220763129, 220654289, 220633930, 220323633, 220227641, 219825564, 219720338, 219321345, 219291958 ) \G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: artisan_income partitions: type: range possible_keys: idx_parent_id key: idx_parent_id key_len: 5 ref: rows: 1901880 filtered: 100 Extra: Using index condition
发现执行计划已经恢复正常。
mysql>SELECT * FROM artisan_income WHERE parent_id IN ( 222645481, 222583953, 222181775, 222180931, 222081126, 221678753, 221616102, 221591783, 221219312, 221195482, 221118672, 220763129, 220654289, 220633930, 220323633, 220227641, 219825564, 219720338, 219321345, 219291958 ) \G 返回行数:[0],耗时:2 ms.
作者最新文章
再漫画官网首页入口及在线观看方法
2026-11-05 09:42
ArchiveofOurOwn官网链接及同人文学阅读入口
2026-10-30 10:21
多张照片怎么合成PDF文件?三种图片转PDF工具怎么选?
2026-10-29 15:06
音述AI作品如何复制分享链接发给好友
2026-10-27 12:00
冰点还原怎么打开 程序启动步骤
2026-10-23 13:35
下一篇:
怎么掌握Mysql的explain
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















