Jag skulle undvika att använda SELECT *
. Ange kolumner du faktiskt vill ha även om det kan vara alla.
SQL Server 2005+
SELECT col1, col2
FROM (
SELECT col1, col2, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum
FROM MyTable
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN @startRow AND @endRow
SQL Server 2000
Bläddra effektivt igenom stora resultatuppsättningar i SQL Server 2000
En mer effektiv metod för att bläddra genom stora resultatuppsättningar