在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

mysql in慢查询如何优化

105次阅读
没有评论

共计 1076 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍“mysql in 慢查询如何优化”,在日常操作中,相信很多人在 mysql in 慢查询如何优化问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql in 慢查询如何优化”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

第一步、分析 SQL

 ***from event i 
 left join project p on i.project_id = p.project_code 
 left join dict d on i.type_id = d.id 
 left join record re on re.incident_id = i.id
 left join type it on it.id = i.type_id 
 where i.version_flag = 0 and i.flow_id in (大量条件)*** 复制代码 

当 flow_id in 接入大量条件,sql 直接变慢,由之前的 80ms 到 5.8 秒,另外此处,关联表较多。

第二步、检查索引,执行 explain

当我们检查索引发现 re.incident_id 和 i.flow_id 并没有走索引,so,大喜,问题找到了,建索引;然而执行 SQL,发现并卵!机智如我,直接打开 explain,发现 record 的 type 为 all,赤裸裸的没走索引啊。

第三步、检查两个关联字段的字段类型、长度和字符类型是否一致

当比较字段类型和字段长度发现完全一致,短暂的郁闷之后,发现了新的线索——

event 表的 id 的字符类型为:

record 表的 incident_id 的字符类型为:

果断统一使用 utf8mb4 与项目组保持统一;再次 explain,耗时瞬间低至 1 秒之内,手工。

第四步、强制使用索引操作

mysql 在一个表如果索引基数过小的情况下默认会走全文搜索,所以对于表业务量过大,但是索引字段基本上为同一数据或 null 的情况 还是需要在 sql 中写死强制索引; 在 sql 中使用强制索引解决办法 left join 后添加 force index(alarm_id)——

第五步、IN 通常是走索引的

只有当 IN 后面的数据在数据表中超过 30% 的匹配时是全表扫描,不走索引,因此 IN 走不走索引和后面的数据量有关系。
in 大量数据可以使用 left join 来处理。

到此,关于“mysql in 慢查询如何优化”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计1076字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲av日韩av天堂影片精品 | 三级在线视频 | 久久www免费人成_看片美女图 | 国内精品久久久久久久aa护士 | 国产精品爱久久久久久久小说 | 久久久xxxx | 四虎国产精品成人 | 亚洲手机国产精品 | 国产成人在线免费 | 免费看撕开奶罩揉吮奶头视频 | 色播99| 月婷婷色狠狠 | 婷婷五月综合丁香在线 | 亚洲av激情无码专区在线下载 | 国产精品一在线观看 | 大地资源在线播放观看mv | 在线国产一区 | 久久精品视频在线看99 | 欧美日韩精品一区二区三区视频 | 在线看亚洲十八禁网站 | 小箩莉末发育娇小性色xxxx | 在线视频你懂得 | 国产精品免费aⅴ片在线观看 | 少妇系列之白嫩人妻 | 色综合久久综合欧美综合 | 一区二区在线视频免费观看 | 51国产黑色丝袜高跟鞋 | 黄色软件免费在线观看 | 狼群视频在线观看www | 欧美开嫩苞实拍视频在线观看 | 影音男人| 污污的网站免费 | 亚洲av无码欧洲av无码网站 | 成人欧美日本免费观看 | 国产精品亚洲精品一区二区三区 | 两个人看的www高清免费观看 | 日韩欧美亚洲国产高清在线 | 饥渴少妇高潮视频大全 | 女人18毛片a级毛片 女人18毛片a级毛片免费视频 | 色在线看 | 欧美亚洲国产片在线观看 |