- Se vuoi unirti a
Purchases.CustomerID
dovresti metterci un indice. - Se esegui spesso query su intervalli di valori, dovresti inserire un indice anche su quello.
Dato che stai chiedendo al server SQL di scegliere tra due cattivi piani.
SQL Server può indovinare all'incirca quanti acquisti saranno coperti da > 1000
query e sceglierà un piano basato su quello.
Tuttavia non può indovinare quanti saranno coperti dalla query UDF, quindi potrebbe scegliere un piano diverso. Poiché l'ignoranza continua, potrebbe essere migliore o peggiore dell'altro piano a seconda di quanto è buono.
Puoi vedere i piani generati e ti dirà il numero stimato di righe in ogni piano e anche il numero effettivo. Questi numeri stimati rappresentano la scelta del piano in ogni caso.