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

Špatný výkon plánu provádění SQL uložené procedury - sniffování parametrů

V zásadě ano - sniffování parametrů (v některých úrovních opravy) SQL Server 2005 je vážně nefunkční. Viděl jsem plány, které se ve skutečnosti nikdy nedokončí (během hodin na malém souboru dat), a to ani pro malé (několik tisíc řádků) soubory dat, které se dokončí během několika sekund, jakmile jsou parametry maskovány. A to v případech, kdy parametrem bylo vždy stejné číslo. Dodal bych, že ve stejnou dobu, kdy jsem se tím zabýval, jsem našel spoustu problémů s nedokončením LEFT JOIN/NULL a nahradil jsem je NOT IN nebo NOT EXISTS a tím se plán vyřešil na něco, co by se dokončilo. Opět (velmi špatný) problém s plánem realizace. V době, kdy jsem se tím zabýval, mi správci databází nedali přístup k SHOWPLAN, a protože jsem začal maskovat každý parametr SP, neměl jsem žádné další problémy s plánem provádění, kde bych se musel do toho hrabat kvůli nedokončení. .

V SQL Server 2008 můžete použít OPTIMIZE FOR UNKNOWN .



  1. Jak zpětně vytvořit databázi v MySQL Workbench

  2. SQLite - Změna tabulky

  3. Obnovte svou databázi WordPress pomocí WP-CLI

  4. Předvyplněná databáze nefunguje v rozhraní API 28 nevyvolává žádnou takovou výjimku tabulky