MySQL慢查询&执行计划

参考文章:

https://blog.csdn.net/tiantianw/article/details/53334566

http://www.cnblogs.com/luyucheng/p/6265594.html

网上开启慢查询:

在[my.ini]中添加如下信息:

[mysqld]

log-slow-queries="C:/ProgramFiles/MySQL/MySQL Server 5.5/log/mysql-slow.log"

long_query_time = 4

log-queries-not-using-indexes

 

解释:

log-slow-queries:代表MYSQL慢查询的日志存储目录,此目录文件一定要有写权限;

Windows下需要写绝对路径,如:log-slow-queries="C:/Program Files/MySQL/MySQL Server5.5/log/mysql-slow.log"

long_query_time: 最长执行时间 (查询的最长时间,超过了这个时间则记录到日志中) .

log-queries-not-using-indexes:没有使用到索引的查询也将被记录在日志中

配置好以后重新启动MYSQL服务.

个人尝试:

1.获取当前变量信息,命令是

  show variables like 'slow_query%';

        

  slow_query_log on即表示开启记录慢sql

  slow_query_log_file文件位置

      

  long_query_time总执行时间

2.更改配置信息
  set global slow_query_log='ON';   //开启记录慢sql
  set global slow_query_log_file='D:/php_dev/MySQL/MySQL Server 5.5/log/slow_query.log';    //win操作系统,这个参数需要绝对路径
  set global long_query_time=1;    //设置慢查询时间为1秒


3.如果有超出指定时间的sql,就会把sql相关信息写入
  D:/php_dev/MySQL/MySQL Server 5.5/log/slow_query.log这个文件

4.文件格式如下:

  # Time: 190429 16:42:25
  # User@Host: root[root] @ localhost [127.0.0.1]
  # Query_time: 0.062400 Lock_time: 0.000000 Rows_sent: 1003 Rows_examined: 1003
  SET timestamp=1556527345;
  SELECT * FROM TEACHING_SYSTEM_STUDENT;

 

 

执行计划:

直接命令执行

  explain

  select * from student;

  

  字段key判断是否使用到了索引

转载于:https://www.cnblogs.com/zhougongjin/p/10791720.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值