- Jeśli chcesz dołączyć do
Purchases.CustomerID
powinieneś umieścić na nim indeks. - Jeśli często pytasz o zakresy wartości, powinieneś również umieścić indeks.
W tej chwili prosisz serwer SQL, aby wybrał między dwoma złymi planami.
SQL Server może z grubsza odgadnąć, ile zakupów zostanie objętych > 1000
zapytanie i wybierze na jego podstawie plan.
Jednak nie może zgadnąć, ile będzie objętych zapytaniem UDF, więc może wybrać inny plan. Ponieważ trwa ignorancja, może być lepszy lub gorszy niż inny plan, w zależności od tego, jak dobre są jego przypuszczenia.
Możesz zobaczyć wygenerowane plany i poda szacunkową liczbę wierszy w każdym planie, a także rzeczywistą liczbę. Te szacunkowe liczby decydują o wyborze planu w każdym przypadku.