慢查询
什么是慢查询?
MySQL默认的慢查询时间是10秒
慢查询都会有日志存放
——————
使用show status使用show status查看MySQL服务器状态信息
——————
–mysql数据库启动了多少时间
show status like ‘uptime’;
show stauts like ‘com_select’ show stauts like ‘com_insert’ …类推 update delete(显示数据库的查询,更新,添加,删除的次数)
show [session|global] status like … 如果你不写 [session|global] 默认是session 会话,指取出当前窗口的执行,如果你想看所有(从mysql 启动到现在,则应该 global)
//显示到mysql数据库的连接数
show status like ‘connections’;
//显示慢查询次数
show status like ‘slow_queries’;
————————————
显示连接数
–查询慢查询时间
show variables like ‘long_query_time’;
–修改慢查询时间
set long_query_time=1; —但是重启mysql之后,long_query_time依然是my.ini中的值
如何将慢查询定位到日志中
1停掉mysql,以日志方式启动,当出现慢查询,执行慢查询语句的时候,日志信息SQL就会保存在日志文件中定位到语句为什么慢,慢多少秒
在默认情况下,我们的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以
cmd找到my.ini文件输入safe-mode --slow-query-log
bin\mysqld.exe --safe-mode --slow-query-log [mysql5.5 可以在my.ini指定](安全模式启动,数据库将操作写入日志,以备恢复)
bin\mysqld.exe –log-slow-queries=d:/abc.log [低版本mysql5.0可以在my.ini指定]
先关闭mysql,再启动, 如果启用了慢查询日志,默认把这个文件放在
my.ini 文件中记录的位置
#Path to the database root
datadir=" C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
当一旦发生,慢查询就会在my.ini中显示SQL语句