mysql 慢日志开启 及explain 分析sql语句

查看当前数据库是否开启了日志:

mysql > show variables like 'log_%';

mysql 的日志类型有以下几种:

+---------------------------------+-------------------------------------+
| Variable_name                   | Value                               |
+---------------------------------+-------------------------------------+
| log_bin                         | OFF                                 |
| log_bin_trust_function_creators | OFF                                 |
| log_error                       | D:\phpservice\mysql\Data\1.err |
| log_output                      | FILE                                |
| log_queries_not_using_indexes   | OFF                                 |
| log_slave_updates               | OFF                                 |
| log_slow_queries                | OFF                                 |
| log_warnings                    | 1                                   |
+---------------------------------+-------------------------------------+

日志文件 记入文件中的信息类型
错误日志 :  记录启动、运行或停止时出现的问题。
查询日志  :  记录建立的客户端连接和执行的语句。
二进制日志: 记录所有更改数据的语句。主要用于复制和即时点恢复。
慢日志 :记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

事务日志: 记录InnoDB等支持事务的存储引擎执行事务时产生的日志。


默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。

默 认情况下,所有日志创建于mysqld数据目录中。

拓展:http://www.cnblogs.com/wangkongming/p/3684950.html



mysql 慢日志开启 

在默认情况下,mysql是不会记录慢查询,需要我们指定启用慢查询日志,才会把执行速度慢的sql语句放入到日志.

启动方式:

{%bin%}/mysqld.exe  --safe-mode  --slow-query-log

注:在默认情况下mysql认为慢查询的时间10s,为了看效果,我们把这个慢查询时间调整为1s

 调整慢查询时间:

① 先查看

mysql 慢日志开启 及explain 分析sql语句_第1张图片

① 修改

mysql 慢日志开启 及explain 分析sql语句_第2张图片

若有慢sql语句。这会在慢日志中出现以下情况:

mysql 慢日志开启 及explain 分析sql语句_第3张图片


 explain的用法

基本用法

mysql>explain select语句

mysql 慢日志开启 及explain 分析sql语句_第4张图片

你可能感兴趣的:(Mysql)