- 收集慢查询SQL。方法有两种:
(1)使用【慢查询日志】功能,去获取所有查询时间比较长的SQL语句
(2)使用information_schema库的PROCESSLIST表实时收集当前执行比较慢的SQL。 - 【查看执行计划】使用explain工具分析有问题的SQL的执行计划
- 最后可以使用【show profile[s]】 查看有问题的SQL的性能使用情况
慢查询日志## 标题
临时开启慢查询功能
在 MySQL 执行set命令设置,但是如果重启 MySQL 的话将失效。
#例如:
set global slow_query_log = ON;
set global long_query_time = 1;#1秒,0不限制时间记录所有的sql
set global slow_query_log_file = '/var/lib/mysql/slow-2020-0518.log';#建议不要 使用默认的路径和名称,建议自定义路径和文件名。 set global log_queries_not_using_indexes = 1;#记录未使用索引的SQL
set global log_output='FILE,Table'
永久开启慢查询功能
修改/etc/my.cnf配置文件,重启 MySQL, 这种永久生效.
[mysqld]
slow_query_log = 1
#建议不要使用默认的路径和名称,建议自定义路径和文件名。
slow_query_log_file =/var/lib/mysql/slow.log
long_query_time = 1