数据库日志查询SQL执行效率

  作者:记性不好的阁主

MySql版本:5.5


(1)profiles

show profiles ; --默认关闭
show variables like '%profiling%';
set profiling = on ; 
show profiles  :会记录所有profiling打开之后的  全部SQL查询语句所花费的时间。缺点:不够精确,只能看到 总共消费的时间,不能看到各个硬件消费的时间(cpu  io )


(2)--精确分析:sql诊断

show profile all for query 上一步查询的的Query_Id
show profile cpu,block io for query 上一步查询的的Query_Id


(3)全局查询日志 :记录开启之后的 全部SQL语句。 (这次全局的记录操作 仅仅在调优、开发过程中打开即可,在最终的部署实施时 一定关闭)

show variables like '%general_log%';
		
--执行的所有SQL记录在表中
set global general_log = 1 ;--开启全局日志
set global log_output='table' ; --设置 将全部的SQL 记录在表中

--执行的所有SQL记录在文件中
set global log_output='file' ;
set global general_log = on ;
set global general_log_file='/tmp/general.log' ;

开启记录在表中后,会记录所有SQL : 会被记录 mysql.general_log表中。

select * from  mysql.general_log ;

相关推荐

评论 抢沙发

表情

分类选择