本文主要讲解关于如何分析优化慢SQL相关内容,让我们来一起学习下吧!
前提:本篇文章中的慢SQL评判标准有两个
(1)每天出现10次且>200ms的SQL
(2)>1S的SQL
分析SQL语句
Q1: permission表中id是主键,请分析是否会全表扫描?

程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
SELECT * FROM `permission` WHERE `resource_id` = ' 323346475' ORDER BY `id` DESC LIMIT 0, 15
A1: 是否全表扫描,主要取决于resource_id这个字段是否有索引.如果有索引,会使用resource_id来查找满足条件的行,在根据id排序。
Q2: permission表中id是主键,请分析是否会全表扫描?
SELECT * FROM `permission` WHERE `resource_id` = ' 323346475' ORDER BY `id` DESC LIMIT 0, 15
A2: 是否全表扫描,主要取决于resource_id这个字段是否有索引.如果有索引,会使用resource_id来查找满足条件的行,在根据id排序。
Q2: 已知有一个6亿的表a,一个3亿的表b,表b的主键id外联表a的tid,请给出SQL语句,最快地查询出满足条件的第50000到第50200中的这200条数据记录?
(1)如果

AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
SELECT a.*, b.* FROM (
SELECT id FROM tableB ORDER BY id LIMIT 50000, 200
) AS b
JOIN tableA a ON b.id = a.tid;
A2: 是否全表扫描,主要取决于resource_id这个字段是否有索引.如果有索引,会使用resource_id来查找满足条件的行,在根据id排序。
以上就是关于如何分析优化慢SQL相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦![readsource]https://juejin.cn/post/7308992638467457061[/readsource]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



