Kỹ thuật row_number () sẽ nhanh chóng. Tôi đã thấy kết quả tốt cho 100.000 hàng.
Bạn có đang sử dụng row_number () tương tự như sau không:
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
... và bạn có chỉ mục bao hàm cho column_list và / hoặc chỉ mục trên cột 'OrderByColumnName' không?