[英]long time respond, floating error
我有一个漂浮的问题
mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i686) using readline 6.1
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
mysql> SELECT `offers`.* FROM `offers` WHERE (created_at > '2011-12-12 07:00:00') ORDER BY updated_at DESC LIMIT 15 OFFSET 0
-> ;
Empty set (44.00 sec)
mysql> SELECT `offers`.* FROM `offers` WHERE (created_at > '2011-12-12 07:00:00') ORDER BY updated_at DESC LIMIT 15 OFFSET 0;
Empty set (0.00 sec)
似乎除了我以外没有人可以访问数据库和锁表
我不明白最新情况
在开发上带有4GM DDR3的AMD Athlon X4和在Linode 512上计划Ubuntu 10.4的相同麻烦
有没有人有想法?
在这种情况下,没有浮动问题,
offers
表的机会很大,
并且您在created_at列上没有索引
MySQL需要执行全表扫描以确定多少匹配(即使为空)。
首次执行后,结果存储到mysql查询缓存(内存)中,
如果自第一个查询以来没有更新数据,它将用于后续相同的查询。
它解释了为什么第二个查询占用零秒。
通常,当你有疑虑时,
做这个 :-
desc extended SELECT `offers`.* FROM `offers`
WHERE (created_at > '2011-12-12 07:00:00');
它将解释mysql如何进行查询优化
它可能是查询缓存。 第一个查询执行正常,其他100个查询仅从查询缓存中执行。 尝试执行以下操作以确保查询缓存负责此奇怪的行为:
SELECT SQL_NO_CACHE `offers`.* FROM ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.