mysql查询日志类型:
general log: 当服务器读取的查询马上记下日志,可能包含错误的查询,不包含查询时间;
slow log:只包含已经执行的查询,记录查询使用时间,用于调优;缺点是粒度太粗,时间到秒,信息不全
结合general log和slow log综合分析,进行调优
配置
log = <file_name>
log-slow-queries = <file_name>
long_query_time = 2
log-queries-not-using-indexes
log-slow-admin-statements
如何阅读slow log:
# Time: 030303 0:51:27 ## 日志记录时间
# User@Host root[root] @ localhost [] ## 谁执行的
# Query_time: 25 Lock_time:0 Rows_sent: 3949 Rows_examined: 378036 ## 执行时间、锁时间、多少行被检索
SELECT .... ## 真正的执行语句
优化分析工具:
mysql_slow_log_filter www.mysqlperformanceblog.com
mysql_slow_log_parser
mysqlsla hackmysql.com
对mysql服务调优:
监测对象:
Bytes_received和Bytes_sent 数据传输
Com_* 服务器执行的命令
Created_* 临时表和文件创建
Handler_* 引擎操作
Select_* 不同join类型的操作
Sort_* 不同类型的sort信息
mysql> FLUSH STATUS ##重置会话状态变量为0
mysql> SELECT SQL_NO_CACHE film_actor.actor_id, count(*)
from sakila.film_actor
mysql> SHOW SESSION STATUS LIKE 'Select%';
mysql> SHOW SESSION STATUS LIKE 'Handler%';
mysql> SHOW SESSION STATUS LIKE 'Sort%';
mysql> SHOW SESSION STATUS LIKE 'Created%';
打开profile功能:
mysql> SET profiling = 1
mysql> SHOW PROFILES \G
OProfile : oprofile.sourceforge.net
gprof: linux调试工具;
07-17
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交