有没有首选的方法? game
表中目前有1640行可以通过,每年将增加大约1200个。哪个mysql选择更好/更快?
SELECT `date` FROM `game` WHERE `date`<'2009-11-09' ORDER BY `date` DESC LIMIT 1;
0.0004秒
SELECT MAX(`date`) AS `date` FROM `game` WHERE `date`<'2009-11-09' LIMIT 1;
0.0006秒
的速度是首次这样跑了。每次之后每次为0.0002。
MySQL的: 服务器
:通过UNIX套接字
Server版本本地主机:5.1.37
PHP(应该是不相关的):
5.x的
LIMIT在第二个查询中超出要求 - 将只有一个MAX()。 – 2009-11-10 00:06:54
你可能会得到一个明确的答案,通过运行一个explain语句,根据文档是: explain [select语句] 虽然性能可能会改变,当你得到更多的数据在表中。 – Mallox 2009-11-10 00:12:09
@马丁:不完全 - 可能有2+记录具有相同的值;任何人都可以因为“LIMIT 1”而返回。查看我的答案了解更多详情。 – 2009-11-10 02:19:36