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

Funguje optimalizátor plánu dotazů dobře se spojenými/filtrovanými funkcemi s hodnotou tabulky?

V tomto případě se jedná o „funkci s hodnotou vložené tabulky“. Pokud je to užitečné (nebo zobrazení), optimalizátor ji jednoduše rozbalí (odstraní).

Pokud je funkce externím dotazem považována za „černou skříňku“, nejrychlejším způsobem je porovnat IO zobrazené v SSMS a IO v profileru. Profler zachytí IO „černé skříňky“, které SSMS ne.

Blogový příspěvek od Adama Mechanik (jeho kniha je v mé zásuvce v práci)



  1. Vylepšete dotaz SQL INSERT, abyste se vyhnuli injekcím SQL

  2. Odstraňte duplikáty z tabulky a znovu propojte odkazující řádky s novou předlohou

  3. Dynamický dotaz pro klauzuli PIVOT

  4. Během čtení dat došlo k závažné chybě