mysql日志

介绍: 一条sql语句我们直接开始就建立索引是不对的,索引的建立有弊也有利,查询很慢的sql我们就要给他捕获出来一步步分析,那么慢查询日志是不可缺少的。

Mysql慢查询优化

优化步骤:

  • 慢查询的开启并捕获
  • explain+慢SQL分析
  • showprofile查询SQL在Mysq1服务器里面的执行细节和生命周期情况
  • SQL数据库服务器的参数调优。

(1)开启慢查询日志

如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢
查询日志支持将日志记录写入文件。

1)参数介绍:

  • slow_query_log: 慢查询日志是否开启
  • slow_query_log_file: 慢查询日志存放位置
  • long_query_time: 查询超过多少秒才记录

2)步骤

show variables like 'slow_query%';

show variables like 'long_query_time'; #默认为10秒
+-----------------+------------+
+ Variable_ name  +    Value   +
+-----------------+------------+
+1ong_ query_ time+   3.000000 +
+-----------------+------------+
 set global slow_query_log='ON';   #开启日志打印
 set global slow_query_log_file='' #设置日志文件路径
 set global long_query_time=3;     #设置阈值,查过就会打印

打印的文字:

# Time: 200507 11:46:46        //时间20年5月7日
# User@Host: root[root] @ localhost [127.0.0.1]  //地址
# Query_time: 4.007006   Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0 //查询时间
use storeserver; //数据库名称
SET timestamp=1588823206;
select sleep(4);  //导致问题的sql的语句
SHOW GLOBAL STATUS LIKE '%Slow_queries%'; #查询出现问题的个数

(2)show profile

mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量。

SHOW VARIABLES LIKE 'profiling%'; #查看show profile的相关配置
+-----------------+------------+
+ Variable_ name  +    Value   +
+-----------------+------------+
+  profiling      +   OFF      +   #默认是关闭的
+-----------------------+------+
+profiling_ history_size+   15 +   #保存最近15个sql语句
+-----------------------+------+
SET GLOBAL profiling='ON';         #开启测试工具

 show profile cpu,block io for query Query_ID; #根据id查询详细的资源消耗

show profile后字段:

  • ALL:显示所有的开销信息
  • BLOCK IO:显示块IO相关开销
  • CONTEXT SWITCHES:上下文切换相关开销
  • CPU:显示CPU相关开销信息
  • IPC:显示发送和接收相关开销信息
  • MEMORY:显示内存相关开销信息
  • PAGE FAULTS:显示页面错误相关开销信息
  • SOURCE:显示和Source_ function,Source_ file,Source_ line相关的开销信息
  • SWAPS:显示交换次数相关开销的信息I

出现这些Status我们要注意:

  • convqsrting HEAP to MyISAM: 查询结果太大,内存都不够用了往磁盘上搬了。

  • Creating tmp table: 创建临时表,拷贝数据到临时表,用完再删除。

  • Copying to tmp table on disk: 把内存中临时表复制到磁盘,危险。

  • locked: 锁。

# 数据库 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×