有沒有首選的方法? 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