0

我将在我的网页中进行分页。我想知道哪个最有效

"SELECT * FROM table LIMIT 10,10"

或者

"SELECT * FROM table LIMIT 10 OFFSET 10"

如果是的话,有什么区别,哪个更好,更有效?

4

2 回答 2

1

没有区别。从MySQL 参考 SELECT 语法

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

几个例子

LIMIT 5                     // limit the result to the first 5 rows
LIMIT 10,5.               // limit the result to 5 rows, beginning with row 11
LIMIT 5 OFFSET 10 // same meaning

我更喜欢写长版本,它是 ANSI 标准,你可以避免错误参数顺序的陷阱。

单独限制:

使用一个参数,该值指定从结果集开头返回的行数:

有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为 0(不是 1):

为了与 PostgreSQL 兼容,MySQL 还支持 LIMIT row_count OFFSET 偏移量语法。

于 2013-03-12T07:27:33.077 回答
1

没有区别。提供偏移语法以与 postgres 兼容。见手册

For compatibility with PostgreSQL, MySQL also supports the LIMIT row_count OFFSET offset syntax.
于 2013-03-12T07:17:15.237 回答