| |
 
  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 
 |  |
 
  |