mysql 查询执行最多的sql 语句mysql
作项目的时候都是开始为了把功能跑起来是目标,可是开始的时候数据量比较小,sql语句怎么写都没有任何问题。当数据量一多了起来,优化的时候又让人无从下手。总结一些方法,给须要帮助的朋友。
sql
个人首要目标就是找到最近一段时间使用最频繁的的sql语句,很明显使用最频繁的sql语句我整个项目的基础架构,决定了用户的体验感(后面提具体的优化方式)。
架构
具体步骤以下:性能
先查看本身mysql 版本: select version();//个人是5.6是支持一个日志的开启。 set global general_log=1;//开启查询日志 set global log_output='TABLE';//general_log支持输出到table: select * from mysql.general_log\G;//查询全部sql语句的使用 select * from (select argument, count(*) as number from mysql.general_log group by argument)t order by number DESC;//降序排列使用最多的sql语句,值是mysql 的基本功哈。
这个general_log不建议一直开启,在开始找问题开启一两天就能够了,否则也会影响mysql的性能。
测试
还能够输出到文件中,由于我没有在Linux测试,就不具体说了,命令以下:优化
set global log_output='FILE';
mysql> set global general_log_file='/tmp/general.log';