Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jaka jest wydajna metoda stronicowania przez bardzo duże zestawy wyników w SQL Server 2005?

Technika row_number() powinna być szybka. Widziałem dobre wyniki dla 100 000 wierszy.

Czy używasz row_number() podobnie do następującego:

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

... i czy masz indeks pokrywający dla column_list i/lub indeks w kolumnie 'OrderByColumnName'?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić liczby losowe jako kolumnę w SQL Server 2005?

  2. Użyj programu Excel 2010 do odczytu/zapisu w bazie danych SQL Server 2008 przy użyciu procedur składowanych

  3. SQL — Połącz się z połączonym serwerem za pomocą nazwanej instancji

  4. Jak określić liczbę dni w miesiącu w SQL Server?

  5. Jak sprawdzić, czy obiekt DateTime nie został przypisany?