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

UNION vs DISTINCT ve výkonu

Záleží na dotazu – aniž byste znali složitost dotazů A, B nebo C, nelze na ně odpovědět, takže nejlépe uděláte, když se vyprofilujete a na základě toho budete posuzovat.

Nicméně... Pravděpodobně bych šel s odborem bez ohledu na to:dočasný stůl může být docela drahý, zvláště když se zvětší. Pamatujte, že s dočasnou tabulkou explicitně vytváříte další operace, a tedy více vstupů a výstupů, abyste zatížili diskový subsystém. Pokud můžete provést výběr bez použití dočasné tabulky, bude to vždy (pravděpodobně) rychlejší.

Z tohoto pravidla musí existovat výjimka (nebo sedm), takže je lepší profilovat se podle realisticky velkého souboru dat, abyste se ujistili, že získáte solidní čísla, podle kterých se můžete správně rozhodnout.



  1. Jak zřetězit hodnoty řetězce a NULL na serveru SQL Server

  2. Ukončení NGINX TLS pro PostgreSQL

  3. Chyba Laravel 5.5 Základní tabulka nebo pohled již existuje:1050 Tabulka 'uživatelé' již existuje

  4. Rozhodnutí, kdy vytvořit index ve sloupci tabulky v databázi?