для таблиц с> 1 000 000 строк и возможно еще много!
не сделали никакого сравнительного тестирования меня так хотел получить мнение экспертов.
Посмотревший некоторые статьи о row_number (), но это, кажется, имеет последствия производительности
Каков другой выбор/альтернативы?
Мы используем row_number ()
для большого эффекта, и при этом не было никаких проблем с производительностью. Базовая структура наших запросов с разбивкой на страницы выглядит так:
WITH result_set AS (
SELECT
ROW_NUMBER() OVER (ORDER BY <ordering>) AS [row_number],
x, y, z
FROM
table
WHERE
<search-clauses>
) SELECT
*
FROM
result_set
WHERE
[row_number] BETWEEN a AND b
Она отлично работает для нас с таблицами с> 1 000 000 строк.