/ / SQL. Ako vylúčiť vyhlásenie zo skutočného Exec plánu? - tsql, sql-server-2008

SQL. Ako vylúčiť vyhlásenie od skutočných Exec plán?-tsql sql server 2008

SQL 2008. Som spustený sproc z SQL Studio a keď sa snažím získať Skutočné spustenie plánu to fúka do tempdb.

Zúžil som problém, aby som zavolal na riadkovú skalárnu funkciu, ktorá sa používa v tabuľke riadkov 700K.

Vyvodil som, že SQL sa snaží vytvoriť 700K exec plány pre túto funkciu a zapíše všetky dáta do tempdb, ktorý má 3Gb voľného miesta.

I dont naozaj potrebné vidieť plán pre túto funkciu.

Môžem explicitne vylúčiť vyhlásenie z generovania plánu exec?

odpovede:

3 pre odpoveď č. 1

Môžete ho vylúčiť z plánu vykonávania, okrem odstránenia hovoru z dotazu.

Znie to však ako hlavný kandidát na prepnutie zo skalárneho UDF na inline tabuľku UDF. Skalárne UDF môžu byť veľkou príčinou zlého výkonu, ktorý sa má spustiť raz za riadok v dotaze.

Prečítajte si tento článok ktorý obsahuje príklad na preukázanie.