- Ако искате да се присъедините към
Purchases.CustomerID
трябва да поставите индекс върху него. - Ако често правите заявки за диапазони от стойности, трябва да поставите индекс и върху тях.
Както е, вие молите SQL сървъра да избира между два лоши плана.
SQL Server може да познае приблизително колко покупки ще бъдат покрити от > 1000
запитване и ще избере план въз основа на това.
Той обаче не може да познае колко ще бъдат обхванати от UDF заявката, така че може да избере различен план. Тъй като става дума за невежество, той може да е по-добър или по-лош от другия план в зависимост от това колко добро е предположението.
Можете да видите генерираните планове и ще ви каже прогнозния брой редове във всеки план, както и действителния брой. Тези прогнозни числа отчитат избора на план във всеки случай.