#查看慢SQL日志是否启用 mysql> show variables like 'log_slow_queries'; #查看执行慢于多少秒的SQL会记录到日志文件中 mysql> show variables like 'long_query_time'; #配置my.ini文件(inux下文件名为my.cnf), 查找到[mysqld]区段,增加日志的配置,如下示例: [mysqld] log="C:/temp/mysql.log" log_slow_queries="C:/temp/mysql_slow.log" long_query_time=1 #log指示日志文件存放目录; log_slow_queries指示记录执行时间长的sql日志目录; long_query_time指示多长时间算是执行时间长,单位秒。
打开MYSQL的慢查询日志。
Man ri zhi !!!
如果想在页面上显示查询时间可以再后台计算时间: long startTime = System.currentTimeMillis(); long endTime = System.currentTimeMillis(); new BigDecimal(endTime).subtract(new BigDecimal(startTime)).divide(new BigDecimal(1000), 3, BigDecimal.ROUND_HALF_UP)
慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容。其中记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL还提供了专门用来分析满查询日志的工具程序mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题。
mysql> show variables like 'log_slow_queries';
#查看执行慢于多少秒的SQL会记录到日志文件中
mysql> show variables like 'long_query_time';
#配置my.ini文件(inux下文件名为my.cnf), 查找到[mysqld]区段,增加日志的配置,如下示例:
[mysqld]
log="C:/temp/mysql.log"
log_slow_queries="C:/temp/mysql_slow.log"
long_query_time=1
#log指示日志文件存放目录;
log_slow_queries指示记录执行时间长的sql日志目录;
long_query_time指示多长时间算是执行时间长,单位秒。
long startTime = System.currentTimeMillis();
long endTime = System.currentTimeMillis();
new BigDecimal(endTime).subtract(new BigDecimal(startTime)).divide(new BigDecimal(1000), 3, BigDecimal.ROUND_HALF_UP)
1,slow_query_log2,long_query_time3,log_queries_not_using_indexes
具体怎么设置,自己去百度看看