MySQL高级系列-SQL性能下降的原因及执行顺序
258 字
1 分钟
MySQL高级系列-SQL性能下降的原因及执行顺序
1.SQL性能下降的原因
- 根本原因
- 执行时间长
- 等待时间长
- 主要原因
- SQL写的烂
- 索引失效
- 关联查询太多join
- 服务器调优及各个参数设置(缓冲、线程数等)
2.SQL的执行顺序
-
手写
select distinct 查询字段from 表名1[left]/[right]/[inner] join 表名2on 表1.字段=表2.字段where 查询条件group by 分组字段having 分组后判断条件order by 排序字段 [asc|desc]limit 分页字段 -
机读
1.执行 from 表名12.执行 on 关联条件得到它们的交集3.执行 [left|right|inner] join 表名24.执行 where 判断条件5.执行 group by 进行分组6.执行 having 对结果再次进行筛选7.执行 select8.执行 order by 进行排序9.执行 limit -
总结

1609310274000 1.from 笛卡尔集2.on 主表保留3.join 不符合on也添加4.where 非聚合,非select 别名5.grouip by 改变对表的引用6.having 只作用分组后7.select distrinct8.order by 可使用select 别名9.limit rows offiset
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
MySQL高级系列-SQL性能下降的原因及执行顺序
https://tianch.com.cn/posts/tutorials/mysql-gao-ji-xi-lie-sql-xing-neng-xia-jiang-de-yuan-yin/相关文章智能推荐
1
MySQL高级系列-性能分析
MySQLMySQL中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中搜集到的统计信息,为客户端请求的Query提供它认为最优执行计划(它认为最优的数据检索方式,但不见得是DBA认为是最优的)。
2
MySQL高级系列-索引
MySQLMySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构(有序)。所以,就可以得到索引的本质:索引是有序的数据结构。
3
MySQL高级系列-查询分析
MySQL优化原则:小表驱动大表,即小的数据集驱动大的数据集
4
MySQL高级系列-数据库锁
MySQL针对同一份数据,多个读操作可以同时进行而不会相互影响
5
MySQL高级系列-7种join理论
MySQL2020-12-30
随机文章随机推荐


