- Wenn Sie bei
Purchases.CustomerID
mitmachen möchten Sie sollten einen Index darauf setzen. - Wenn Sie häufig Wertebereiche abfragen, sollten Sie auch einen Index darauf setzen.
So wie es ist, bitten Sie den SQL-Server, zwischen zwei schlechten Plänen zu wählen.
SQL Server kann ungefähr abschätzen, wie viele Käufe von den > 1000
abgedeckt werden Abfrage und wählt darauf basierend einen Plan aus.
Es kann jedoch nicht erraten werden, wie viele von der UDF-Abfrage abgedeckt werden, und kann daher einen anderen Plan auswählen. Da es auf Unwissenheit beruht, kann es besser oder schlechter sein als der andere Plan, je nachdem, wie gut seine Vermutung ist.
Sie können die generierten Pläne sehen und die geschätzte Anzahl der Zeilen in jedem Plan sowie die tatsächliche Anzahl angeben. Diese geschätzten Zahlen berücksichtigen in jedem Fall die Wahl des Plans.