Использование MySQL LIMIT
В Mysql для ограничения количества результатов используется инструкция LIMIT:
SELECT * FROM users ORDER BY id DESC LIMIT 10
последние 10 записей из таблицы users
Смещение
Чтобы вернуть результаты с 6 по 15, нужно использовать такой синтаксис:
SELECT * FROM users ORDER BY id DESC LIMIT 5, 10
последние 10 записей из таблицы users, но без первых 5ти
Или то же самое:
SELECT * FROM users ORDER BY id DESC LIMIT 10 OFFSET 5
Скорость
С точки зрения производительности, LIMIT работает очень быстро.
Однако использование больших величин смещения может привести к деградации производительности.
Например, запрос:
SELECT * FROM users ORDER BY id DESC LIMIT 10
будет работать значительно быстрее, чем запрос:
SELECT * FROM users ORDER BY id DESC LIMIT 9999, 10
Во втором случае MySQL пропустит 10 тыс. строк, чтобы показать всего 10.
Читайте как оптимизировать большие смещения в MySQL.
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: