上面的 stack overflow 帖子有一个赞成的答案说是,但是当我查看评论时,讨论让我产生了一定程度的好奇心。它提到的地方
"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 和 FETCH 行。
所以我的问题是在简单的 SELECT 和获取语句中获取等效限制 1?
最佳答案
不,这不是等价的,因为简单的 SELECT 不能保证以任何特定方式对结果进行排序,就像您指定 ORDER BY 子句时那样。没有 ORDER BY,查询(通常)比使用 ORDER BY 快得多。当然,您仍然可以在不使用 ORDER BY 的情况下使用 LIMIT,并且它(通常)会更快地返回较小的结果集。但性能优势并没有那么大,因为在这种情况下根本没有进行排序。
关于php - fetch相当于sql语句中的limit 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479853/