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

SQL 2005 CTE vs. tabulka TEMP Výkon při použití ve spojení jiných tabulek

CTE je pouze alias pro dotaz.

Může (nebo nemusí) být znovu spuštěn při každém použití.

Neexistuje žádný čistý způsob, jak vynutit CTE materializace v SQL Server (jako /*+ MATERIALIZE */ společnosti Oracle ), a musíte dělat špinavé triky, jako je tento:

CTE může zlepšit výkon, pokud se použije v plánech vyžadujících pouze jedno vyhodnocení (jako HASH JOIN , MERGE JOIN atd.).

V těchto scénářích bude hashovací tabulka vytvořena přímo z CTE , zatímco použití dočasné tabulky bude vyžadovat vyhodnocení CTE , přetažením výsledků do dočasné tabulky a přečtením této tabulky ještě jednou.



  1. Nainstalujte PL/Java 1.5.2 v PostgreSQL 11

  2. TNS-12505:TNS:listener aktuálně nezná SID uvedené v deskriptoru připojení

  3. Získejte data MySql a uložte je do pole Javascript

  4. Maximální velikost databáze SQLite v aplikaci pro Android