目录
1、SQL性能分析
1.1、SQL执行频率
1.2、慢查询日志
1、SQL性能分析
1.1、SQL执行频率
- MySQL 客户端连接成功后,通过 show [ session | global ] status 命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的 insert、update、delete、select 的访问频次:
- - - session 是查看当前会话;
- - - global 是查看全局数据;
- show global status like 'Com_______'; Com后面加 7 个下划线
show global status like 'Com_______';
- 通过上述指令,我们可以查看到当前数据库到底是以查询为主,还是以增删改为主,从而为数据 库优化提供参考依据。 如果是以增删改为主,我们可以考虑不对其进行索引的优化。 如果是以 查询为主,那么就要考虑对数据库的索引进行优化了 。
- 那么通过查询SQL的执行频次,我们就能够知道当前数据库到底是增删改为主,还是查询为主。 那假 如说是以查询为主,我们又该如何定位针对于那些查询语句进行优化呢? 次数我们可以借助于慢查询 日志 。
1.2、慢查询日志
- 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志。
- MySQL的慢查询日志默认没有开启,我们可以查看一下系统变量 slow_query_log。
show variables like 'slow_query_log'
如果要开启慢查询日志,需要在MySQL的配置文件(/etc/ny.cnf)中配置如下信息: