一、查看SQL执行频次
- MySQL客户端连接成功后,通过 show [session | global] status 命令可以提供服务器状态信息,查看当前数据库的insert、update、delete、select的访问频次
- [session | global]:session当前会话,global全局
- Com后面加上7个下划线
- 举例说明
二、慢查询日志
-
如何查看慢查询日志是否开启
-
慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认:10秒)的所有SQL语句的日志。
-
MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置。配置完成后,需要重启MySQL服务器(systemctl restart mysqld)
-
慢查询日志文件所在位置:/var/lib/mysql/localhost-slow.log
-
详细操作步骤如下
-
tail动态监控慢查询日志,观察日志输出结构
三、profile详情
- 通过命令 select @@have_profiling; 查看当前MySQL是否支持profile操作
- 通过命令 select @@profiling; 查看当前MySQL是否开启profile操作(默认:未开启),通过 set @@profiling = 1; 命令将profile操作开启
- 通过以下命令能够在SQL优化时帮助我们了解时间耗费到哪里去了
- 举例说明
四、explain执行计划【重要】
-
explain或者desc命令获取MySQL如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序
-
举例说明