- 论坛徽章:
- 0
|
本帖最后由 duzq1985 于 2012-04-16 18:14 编辑
线上的数据库出现查询变慢的情况,然后查看慢查询日志,基本都是
- # Query_time: 53.424102 Lock_time: 0.000098 Rows_sent: 0 Rows_examined: 450
- SET timestamp=1334569593;
- select id, toid, datetime, state, cinmessage
- from cin_offlinemessages_355
- where toid = 428562355 and state=0 and datetime >= date_add(now(),interval -7 day) order by id;
复制代码 还有
- # Query_time: 25.639119 Lock_time: 0.000088 Rows_sent: 0 Rows_examined: 0
- SET timestamp=1334570111;
- update cin_offlinemessages_355
- set state = 2 where toid = 630152030 and state = 0 and datetime >= date_add(now(),interval -7 day);
复制代码 其中update语句很少,大概几十条慢查询select才会出现一条update。但是拿这些刚生成的慢查询语句自己登陆线上数据库去查询的时间却都是 Empty set (0.01 sec),结果集为空是正常的(几乎所有的慢查询结果都为空),但是时间也几乎没
什么消耗,这为什么慢查询里面会消耗这么长的时间呢?请高手推测下原因。
补充:explain查询语句,可以用到toid的索引。
query_cache没有开启。 |
|