Select wird langsamer, wenn Variable als Parameter verwendet wird
Christian Kehl
Gesendet: 19.11.13 11:55
Betreff: Select wird langsamer, wenn Variable als Parameter verwendet wird


Member

Beiträge: 11

Hallo,

Ich grübele über einem Select, der wesentlich langsamer wird, wenn Variablen als Parameter verwendet werden. Setze ich feste Werte als Parameter, ist der Select ca. 3mal schneller. Die Problematik bewegt sich leider nicht im 10tel-Sekunden-Bereich...

Die Parameter sind als nvarchar() deklariert (das läßt sich leider nicht vermeiden).

Zur Verdeutlichung ein kleines Beispiel:

Select Feld1
from Tabelle1
Where Feld1 = 'A'

ist 3mal schneller als:

Declare @P nvarchar(10)
Set @P = 'A'

Select Feld1
from Tabelle1
Where Feld1 = @P

Sp_executesql würde ich gerne vermeiden.

Es sieht so aus, als würde der SQL-Server den unteren Select anders verarbeiten?

Für Hilfe oder eine Erklärung bin ich natürlich jetzt schon sehr dankbar.

Viele Grüße,
Christian



Edited by Christian Kehl 19.11.13 11:58
Top of the page Bottom of the page