怎么分析慢sql?
面试中被问到怎么分析一个慢sql,索引已经建立了,通过查看该sql的结构判断没有出啥问题,用explain后发现索引也命中了,但是sql就是慢,怎么去排查这个问题,有什么平台可以排查,有没有佬了解这个?
全部评论
可以看op trace具体哪个环节慢
m
命中的索引和预期一致吗
建立索引≠命中索引
命中索引≠选择了最优索引
不同类型的索引以及具体数据分布情况,还是有很大的性能区分度的,如果能走唯一索引和主键索引或覆盖索引一般是最佳的(非绝对)而且explain中有个数据检索的type,不同的type的性能还是差的挺大
查询的字段太多了、回表的次数太多了、多表Join了、表数据量太大了、事物太长
你这问题=凭空调优 啥背景都没用,sql是啥?单表还是关联 数据量多少 ?
m
数据量呢
慢查询日志吧
cy
m
m

第一先考虑用的什么数据库,Mysql 还是Oracle 还是sql server 。第二 看用的什么数据引擎 最后 就按sql优化的一些方法排查。
相关推荐
点赞 评论 收藏
分享
投票
点赞 评论 收藏
分享