sql >> Databáze >  >> RDS >> Sqlserver

Chtěli jsme pomoc RowNumber() a Partition By performance

1) Máte některá pole v klauzuli Partition By a Order By. To nedává smysl, protože pro každou budete mít pouze jednu hodnotu (sma.FastPer, sma.SlowPer). Tato pole můžete bezpečně odebrat z části funkce okna Seřadit podle.

2) Za předpokladu, že již máte indexy pro adekvátní výkon v "initialSmas i join initialSmas" a že již máte a indexujete pro (initialSmas.Symbol, initialSmas.Period, initialSmas.TradeDate), nejlepší, co můžete udělat, je zkopírovat smaComparisonsByPer do dočasná tabulka, kde můžete vytvořit index na (sma.Symbol, sma.FastPer, sma.SlowPer, sma.TradeDate)




  1. Jak nastavím výchozí schéma pro uživatele v MySQL

  2. SQL Server Podporované verze Matrix

  3. Oracle Multiple Update Query

  4. Zpomaluje přidání cizích tabulek do klauzulí WITH dotaz v PostgreSQL?