如何分析优化慢SQL

IT 文章2年前 (2023)发布 小编
0 0 0

本文主要讲解关于如何分析优化慢SQL相关内容,让我们来一起学习下吧!

前提:本篇文章中的慢SQL评判标准有两个
(1)每天出现10次且>200ms的SQL
(2)>1S的SQL

分析SQL语句

Q1: permission表中id是主键,请分析是否会全表扫描?

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式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)如果

ad

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]

© 版权声明

相关文章

暂无评论

暂无评论...