0

Web ページにページネーションを作成します。どれが最も効率的か知りたい

"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標準であり、パラメータの順序を間違えるという落とし穴を避けることができます.

LIMIT のみ:

引数が 1 つの場合、値は結果セットの先頭から返す行数を指定します。

2 つの引数がある場合、最初の引数は返す最初の行のオフセットを指定し、2 番目の引数は返す行の最大数を指定します。最初の行のオフセットは 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 に答える