1.需要收集的信息
mysql访问的最多的数据
msyql执行的最多的查询的种类
mysql停留时间最长的状态
mysql用来执行查询的使用的最频繁的子系统
mysql查询过程中访问的数据种类
mysql执行了多少中不同类型的活动,比如索引扫描
2.记录查询
普通日志和慢速日志
主要找三个信息:长查询、影响很大的查询、新查询
3.查询工具
mysqldumpslow
可以总结慢速查询日志,并且显示每个查询在日志中出现的次数。
mysql_slow_log_filter
他能理解毫秒精度的日志,需要下载,可以用来提取执行时间超过某个阈值的查询,或者检查数据行数超过特定书目的查询。
mysql_slow_log_parser
他能对毫秒精度的慢速日志进行聚合。 除了聚合和报表之外,他还能显示执行时间和分析行数的最大和最小值,打印出“规范化”的查询,并且打印出可以使用explain的进行分析的示例。
mysqlsla
可以分析慢速日志,还可以分析普通日志和包含分隔的sql命令的“原始”日志。和mysql_slow_log_parser一样,它可以进行规范化和汇总。也能利用explain分析查询(它针对explain 重写了许多非select命令)并产生复杂的报告
4.分析mysql服务器
show status
查询mysql执行查询是做了多少工作
show profile
最近一个命令的状态值和运行时间
show innodb status
show mutex status