1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。
二、检测mysql中sql语句的效率的方法
1、通过查询日志
(1)、Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上
代码如下
log-slow-queries = F:/MySQL/log/mysqlslowquery。log
long_query_time = 2
(2)、Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
代码如下
log-slow-queries=/data/mysqldata/slowquery。log
long_query_time=2
首先程序产生一个随机数,然后大于这个值的取10条SELECT * FROM tablename WHERE id>xxx LIMIT 10
如果想分开的,那就多产生几个随机数x1 x2 x3
SELECT * FROM tablename WHERE id>x1 LIMIT 10
SELECT * FROM tablename WHERE id>x2 LIMIT 10
SELECT * FROM tablename WHERE id>x2 LIMIT 10
然后得到的记录再选10条
如果有其他索引的话也可以随机一个大于或小于这个
select * from tablename where uid>x1 and id>xxx limit 10
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)