定位问题
- 开启慢SQL发现需要优化的SQL,
set global slow_query_log=1,//开启
set global long_query_time=3,//三秒视为慢SQL
SHOW VARIABLES LIKE ‘%Slow_queries%’,//查看慢SQL统计信息
Mysqldumpshow -s r -t 10 保存位置;//查看记录最多的前十条sql - 测试SQL运行时间
SET PROFILING = 1,运行目标SQL,SHOW PROFILES查看执行时间
语法逻辑优化
索引
explain分析SQL执行过程,避免索引失效,点击查看失效可能原因
深分页问题
- 现象:大页数的分页查询慢
- 原因:MySQL不会忽略目标页之前的数据,因此查询页数越大的数据,要处理的数据越多,速度越慢
- 解决:点击查看解决方案
大表问题
点击查看大表优化方案
分区分表分库
需要分区的表中存在主键或唯一索引需要将这些唯一的东西用到分区依据中:可以使用符合主键,或者直接使用时间来自定义主键