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

SQL SERVER 2008 tipy JOIN

Protože to okrádá optimalizátor o příležitost zvážit jiné metody, které mohou být efektivnější.

Když je distribuce dat (o které se optimalizátor rozhoduje) silně zkreslená a statistika ji nedokáže správně reprezentovat.

Toto jsou různé algoritmy.

  1. LOOP je vnořená smyčka:pro každý záznam z vnější tabulky se hledá shoda ve vnitřní tabulce (pomocí indexu dostupných). Nejrychlejší, když pouze malá část záznamů z obou tabulek splňuje JOIN a WHERE podmínky.

  2. MERGE seřadí obě tabulky, projde jimi v pořadí řazení a přeskočí neshodné záznamy. Nejrychlejší pro FULL JOIN s a když jsou obě sady záznamů již seřazeny (z předchozích operací řazení nebo při použití přístupové cesty indexu)

  3. HASH vytvořte hashovací tabulku v dočasném úložišti (paměť nebo tempdb ) z jedné z tabulek a vyhledá v ní každý záznam z druhé tabulky. Nejrychlejší, pokud velká část záznamů z kterékoli tabulky odpovídá WHERE a JOIN podmínka.



  1. SQL Server přidá primární klíč automatického přírůstku do existující tabulky

  2. Typ sloupce YYYY-MM v PostgreSQL

  3. Zobrazte názvy oddělení pomocí kurzorů. Vytvořte blok PL/SQL pro zobrazení všech názvů oddělení z tabulky oddělení pomocí kurzorů

  4. Migrujte mySQL na Firebase