sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är en effektiv metod för att bläddra igenom mycket stora resultatuppsättningar i SQL Server 2005?

Tekniken row_number() bör vara snabb. Jag har sett bra resultat för 100 000 rader.

Använder du row_number() som liknar följande:

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

...och har du ett täckande index för kolumnlistan och/eller ett index i kolumnen 'OrderByColumnName'?



  1. Okänd tabell i MULTI DELETE

  2. Visa flera poster i rad

  3. Är det korrekt att skanna en tabell i MySQL med SELECT * .. Limit start, räknas utan en ORDER BY-sats?

  4. Använder MySQL IN-satsen som all inclusive (AND istället för OR)