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)