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

Potrzebna pomoc RowNumber() i Partition By wydajności

1) Masz kilka pól zarówno w klauzulach Partition By, jak i Order By. To nie ma sensu, ponieważ będziesz mieć jedną i tylko jedną wartość dla każdej (sma.FastPer, sma.SlowPer). Możesz bezpiecznie usunąć te pola z części Sortuj według funkcji okna.

2) Zakładając, że masz już indeksy zapewniające odpowiednią wydajność w „initialSmas i dołączam do initialSmas” i że już masz indeksy (initialSmas.Symbol, initialSmas.Period, initialSmas.TradeDate) najlepszym, co możesz zrobić, to skopiować smaComparisonsByPer do tabela tymczasowa, w której można utworzyć indeks (sma.Symbol, sma.FastPer, sma.SlowPer, sma.TradeDate)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NEWID() vs NEWSEQUENTIALID() w SQL Server:jaka jest różnica?

  2. Dołączanie do rekordu daty MAX w grupie

  3. Jak zwrócić bieżącą wartość rowversion dla bazy danych programu SQL Server (przykład T-SQL)

  4. Jak uzyskać dolne 50% zapytania wybierającego na serwerze SQL?

  5. SSRS:Jak stworzyć raport JAK tabela przestawna w ssrs 2008 r2