Это намного быстрее, когда у вас большие столы, потому что вам не нужно заказывать всю таблицу.
Вы просто используете идентификатор в качестве уникального идентификатора строки.
Это также более эффективно, когда у вас есть большие объемы данных в некоторых столбцах, например, в виде изображений (BLOB-объектов). Порядок в этом случае может быть очень много времени и данных.
select *
from TableName
where id > ((select max(id) from TableName)-(NumberOfRowsYouWant+1))
order by id desc|asc
Единственная проблема, если вы удаляете строки в нужном интервале. В этом случае вы не получите реальный «NumberOfRowsYouWant».
Вы также можете легко использовать это для выбора n строк для каждой страницы, просто умножив (NumberOfRowsYouWant + 1) на номер страницы, когда вам нужно показать таблицу в обратном направлении на нескольких веб-страницах.