Thank you for reading this post, don't forget to subscribe!
В Mysql для ограничения количества результатов используется инструкция LIMIT:
1 |
SELECT * FROM users ORDER BY id DESC <b>LIMIT 10</b> |
# последние 10 записей из таблицы users
Смещение
Чтобы вернуть результаты с 6 по 15, нужно использовать такой синтаксис:
1 |
SELECT * FROM users ORDER BY id DESC <b>LIMIT 5, 10</b> |
# последние 10 записей из таблицы users, но без первых 5ти
Или то же самое:
1 |
SELECT * FROM users ORDER BY id DESC <b>LIMIT 10 OFFSET 5</b> |
Скорость
С точки зрения производительности, LIMIT работает очень быстро. Однако использование больших величин смещения может привести к деградации производительности. Например, запрос:
1 |
SELECT * FROM users ORDER BY id DESC <b>LIMIT 10</b> |
будет работать значительно быстрее, чем запрос:
1 |
SELECT * FROM users ORDER BY id DESC <em>LIMIT 9999, 10</em> |
Во втором случае MySQL пропустит 10 тыс. строк, чтобы показать всего 10.