J'éviterais d'utiliser SELECT *
. Spécifiez les colonnes que vous souhaitez réellement, même s'il peut s'agir de toutes.
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
Pagination efficace de grands ensembles de résultats dans SQL Server 2000
Une méthode plus efficace pour parcourir de grands ensembles de résultats