sql >> Database teknologi >  >> RDS >> Sqlserver

RowNumber() og Partition By performance hjælp ønskes

1) Du har nogle felter både i afsnittene Partition By og Order By. Det giver ikke mening, da du vil have én og kun én værdi for hver (sma.FastPer, sma.SlowPer). Du kan roligt fjerne disse felter fra Bestil efter-delen af ​​vinduesfunktionen.

2) Forudsat at du allerede har indekser for tilstrækkelig ydeevne i "initialSmas i join initialSmas", og at du allerede har et indeks for (initialSmas.Symbol, initialSmas.Period, initialSmas.TradeDate), er det bedste du kan gøre at kopiere smaComparisonsByPer til en midlertidig tabel, hvor du kan oprette et indeks på (sma.Symbol, sma.FastPer, sma.SlowPer, sma.TradeDate)




  1. Sæt NOW() som standardværdi for datetime datatype?

  2. Sådan finder du linjenummer, procedurenavn i PL/SQL i tilfælde af fejl

  3. Hvordan kan jeg forespørge på en værdi i en XML-kolonne i SQL Server 2008

  4. Hvordan forbinder man to tabeller baseret på delstrengværdier af felter?