Teknik row_number() harus cepat. Saya telah melihat hasil yang baik untuk 100.000 baris.
Apakah Anda menggunakan row_number() mirip dengan berikut ini:
SELECT column_list
FROM
(SELECT column_list
ROW_NUMBER() OVER(ORDER BY OrderByColumnName) as RowNum
FROM MyTable m
) as DerivedTableName
WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1
...dan apakah Anda memiliki indeks penutup untuk column_list dan/atau indeks pada kolom 'OrderByColumnName'?