mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用
2010-09-29 11:38
911 查看
mysql的“慢查询”指的是超过了允许的最大查询时间(
long_query_time=1
log-slow-queries=/var/mysql/logs/slow.log
long_query_time参数表示的是慢查询的度量时间,单位是秒,最小是1,缺省值是10,凡是执行时间超过long_query_time的sql语句都会记录到慢查询日志中。
//mysql.conf
[mysqld]
#Slow Query log
long_query_time=3
log-slow-queries
# Log queries that is not using indexes
log-queries-not-using-indexes
执行以下命令
select sleep(1);
select sleep(3);
select * from t1;
日志内容如下
D:/MySQL/MySQL Server 5.1/bin/mysqld, Version: 5.1.31-community-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
# Time: 090625 12:58:09
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 3.000077 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1245905889;
select sleep(3);
# Time: 090625 12:58:42
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.046876 Lock_time: 0.031251 Rows_sent: 0 Rows_examined: 0
SET timestamp=1245905922;
select * from t1;
long_query_time)的sql语句,而“未使用索引”查询顾名思义就是查询语句没有使用到索引的sql语句。
慢查询配置和使用
在msyqld的启动配置文件或命令行参数中增加以下参数long_query_time=1
log-slow-queries=/var/mysql/logs/slow.log
long_query_time参数表示的是慢查询的度量时间,单位是秒,最小是1,缺省值是10,凡是执行时间超过long_query_time的sql语句都会记录到慢查询日志中。
--log-slow-queries[=的file_name参数可选,缺省值是file_name]
host_name-slow.log[/code],如果指定了file_name参数的话,mysql就会把慢查询的日志记录到file_name所设定的文件中,如果file_name提供的是一个相对路径,mysql会把日志记录到mysql的data目录中。
未使用索引查询配置和使用
在mysql的启动配置文件或命令行参数中增加--log-queries-not-using-indexes参数就可以启用未使用索引查询语句了,日志记录的文件就是log-slow-queries对应的文件。
//mysql.conf
log-queries-not-using-indexes
使用案例
mysql的配置如下[mysqld]
#Slow Query log
long_query_time=3
log-slow-queries
# Log queries that is not using indexes
log-queries-not-using-indexes
执行以下命令
select sleep(1);
select sleep(3);
select * from t1;
日志内容如下
D:/MySQL/MySQL Server 5.1/bin/mysqld, Version: 5.1.31-community-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
# Time: 090625 12:58:09
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 3.000077 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1245905889;
select sleep(3);
# Time: 090625 12:58:42
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.046876 Lock_time: 0.031251 Rows_sent: 0 Rows_examined: 0
SET timestamp=1245905922;
select * from t1;
相关文章推荐
- mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用
- 使用pt-query-digest分析mysql慢查询日志(mysql slow query log )
- mysql5.6.10关于慢查询的设置slow-query-log
- mysql dba系统学习(8)查询日志文件功能 mysql dba系统学习(9)slow query log慢查询日志功能
- mysql5.6.10关于慢查询的设置slow-query-log
- 开启mysql查询日志 mysql——slow query log
- mysql5.6配置慢查询 及安装pt-query-digest,检查重复索引pt-duplicate-key-checker
- MySQL 慢查询日志(Slow Query Log)
- mysql 慢查询日志(slow_query_log_file)切换
- MySQL中的慢查询日志(Slow Query Log)
- 使用pt-query-digest分析mysql slow query log
- MySQL 慢查询日志(Slow Query Log)
- MySQL开启慢查询日志slow_query_log
- MySQL 日志之--慢查询日志(slow-query-log)
- MySQL:动态开启慢查询日志(Slow Query Log)
- 使用pt-query-digest分析mysql slow query log
- MySQL 慢查询日志(Slow Query Log)