Eviterei di usare SELECT *
. Specifica le colonne che desideri effettivamente anche se potrebbero essere tutte.
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
Cercare in modo efficiente insiemi di risultati di grandi dimensioni in SQL Server 2000
Un metodo più efficiente per eseguire il paging di insiemi di risultati di grandi dimensioni