怎么分析慢sql?
面试中被问到怎么分析一个慢sql,索引已经建立了,通过查看该sql的结构判断没有出啥问题,用explain后发现索引也命中了,但是sql就是慢,怎么去排查这个问题,有什么平台可以排查,有没有佬了解这个?
全部评论
命中的索引和预期一致吗
送花
回复 分享
看type和extra,考虑再建索引
送花
回复 分享
![](https://uploadfiles.nowcoder.com/files/20230525/652858152_1685014678820/企业微信截图_1685014605956.png)
国泰君安
校招火热招聘中
官网直投
m
送花
回复 分享
可以看op trace具体哪个环节慢
送花
回复 分享
第一先考虑用的什么数据库,Mysql 还是Oracle 还是sql server 。第二 看用的什么数据引擎 最后 就按sql优化的一些方法排查。
送花
回复 分享
m
送花
回复 分享
m
送花
回复 分享
cy
送花
回复 分享
慢查询日志吧
送花
回复 分享
数据量呢
送花
回复 分享
m
送花
回复 分享
你这问题=凭空调优 啥背景都没用,sql是啥?单表还是关联 数据量多少 ?
送花
回复 分享
查询的字段太多了、回表的次数太多了、多表Join了、表数据量太大了、事物太长
送花
回复 分享
建立索引≠命中索引
命中索引≠选择了最优索引
不同类型的索引以及具体数据分布情况,还是有很大的性能区分度的,如果能走唯一索引和主键索引或覆盖索引一般是最佳的(非绝对)而且explain中有个数据检索的type,不同的type的性能还是差的挺大
送花
回复 分享
相关推荐
点赞 评论 收藏
分享
05-27 03:44
门头沟学院 计算机类 点赞 评论 收藏
分享