2011-03-06 31 views
1

如:當我在MySQL中使用LIMIT子句並記錄數千條記錄時,效率是否一樣?

我將使用JQuery ui autocomplet plugin .The suggestions data應該從MySQL databse中提取,而我的SQL查詢:

SELECT `keywords`,`record_count` FROM `suggestion_words`WHERE `keywords` LIKE '%'.$suggestions .'%' ORDER BY `search_count` LIMIT 0,10 

由於每個一說,LIKE更slower.So,我只是想知道,如果我只在每個查詢中返回10條記錄,它是否應該在百萬條記錄和數千條記錄中具有相同的效率!?

非常感謝!

回答

1

不,MySql仍然需要掃描整個表,所以需要掃描的行越多,需要的時間就越多。

Becouse MySql只會在發現10行時立即停止排序如果您只需要10個隨機記錄,您應該考慮在外部子查詢中進行排序,因此MySql可以停止查看一次10行找到。

閱讀http://dev.mysql.com/doc/refman/5.0/en/limit-optimization.html

+0

在極限優化的文檔「ROW_COUNT」代表什麼? – qinHaiXiang 2011-03-06 07:24:06

+0

要返回的行數,在你的情況'10'中。 – 2011-03-06 07:25:35

相關問題