2015-04-06 47 views
1

PDO::fetch() LIMIT 1取等價於sql語句中的限制1?

上面的堆棧溢出帖子有一個最新的回答說是的,但是當我看到評論時,討論帶給我一定程度的好奇心。凡提及

"If you use LIMIT row_count with ORDER BY, MySQL ends the sorting as soon as 
it has found the first row_count rows of the sorted result, rather than 
sorting the entire result." 

這是http://dev.mysql.com/doc/refman/5.0/en/limit-optimization.html

參考這僅僅是如果我們使用ORDER BY查詢的情況下,而不是簡單地應用於SELECT和讀取行。

所以我的問題是在一個簡單的SELECT和Fetch語句中獲取等價極限1?

回答

0

不,它不是等價的,因爲一個簡單的SELECT不能保證以任何特定的方式排序結果,就像它指定ORDER BY子句時一樣。沒有ORDER BY,查詢(通常)比使用ORDER BY時快得多。當然,您仍然可以使用LIMIT而不使用ORDER BY,並且它(通常)會更快地返回較小的結果集。但是,性能優勢並不是那麼好,因爲在這種情況下根本沒有分類。