+ -
当前位置:首页 → 问答吧 → 请教关于mysql的slow query log的问题

请教关于mysql的slow query log的问题

时间:2011-11-01

来源:互联网

mysql的slow query log用于记录查询比较慢的一些语句(我设置的查询时间超过3秒就被判定为慢查询)

问题是我的log里面记录的一些语句被我在数据库上直接运行却很快。下面是log里面记录的一条语句:

Query_time: 16 Lock_time: 0 Rows_sent: 1 Rows_examined: 2457(记录的单位是秒)
use disney_english_portal;

SELECT count(DISTINCT(u.uid)) AS suid FROM content_type_session c, node n, users u WHERE u.status = 1 AND u.uid = c.field_session_student_uid AND n.status = 1 AND c.nid = n.nid AND c.vid = n.vid AND 
c.field_session_status_value IN('Active') AND c.field_session_learning_type_value IN ('regular') AND 

c.field_session_class_nid = '1051';

但是这条语句直接在数据库phpmyadmin里面运行却很快?这是什么原因?是log出错了?还是log记录的时间并不纯粹是查询的时间?请哪位高手指导一下,谢谢!!

作者: AmazingBow   发布时间: 2011-11-01

SET profiling=1;
你的SQL语句 ;
SHOW PROFILES;
假设上述SQL语句Query_ID为1
SHOW PROFILE FOR QUERY 1;
结果是什么

作者: WWWWA   发布时间: 2011-11-01

有可能是当时有其它查询锁定了表。

作者: ACMAIN_CHM   发布时间: 2011-11-01

引用 1 楼 wwwwa 的回复:

SET profiling=1;
你的SQL语句 ;
SHOW PROFILES;
假设上述SQL语句Query_ID为1
SHOW PROFILE FOR QUERY 1;
结果是什么


我的mysql数据库中没有关于profiling 的变量我用show variables like "%profiling%"也查不到,所以set profiling数据库报错!

作者: AmazingBow   发布时间: 2011-11-01

引用 2 楼 acmain_chm 的回复:

有可能是当时有其它查询锁定了表。

那您有方法来判定是否是其他查询锁定表了呢?

作者: AmazingBow   发布时间: 2011-11-01

引用 2 楼 acmain_chm 的回复:

有可能是当时有其它查询锁定了表。


我觉得您说的这个原因比较有可能,但是我想把这个原因在通过一些方法在确定下,不管怎么样,谢谢您!

作者: AmazingBow   发布时间: 2011-11-01

mysql什么版本?

作者: WWWWA   发布时间: 2011-11-01

引用 6 楼 wwwwa 的回复:

mysql什么版本?


5.0.56sp1-enterprise

作者: AmazingBow   发布时间: 2011-11-01

相关阅读 更多