J'ai une requête qui prend datetime comme paramètre, ce que nous avons observé est que si vous fournissez le paramètre datetime à travers une variable, Query prend 2 à 3 fois plus de temps à exécuter que si vous le paramètre directement coder en dur, est-il une raison quelconque ou d'une solution à ceLa requête SQL et le paramètre datetime prennent beaucoup de temps à s'exécuter
Après requête prend environ 5 minutes pour retourner le résultat
Declare @Date as DateTime
Set @Date = '01/01/2009'
Select * from TempTable where effdate = @Date
Alors que
Select * from TempTable where effdate = '01/01/2009'
il revient en 10-20 sec
Ce n'est pas toujours que j'aurais index sur la colonne en utilisant ce que je veux faire la recherche. Comme recommandé par kevchadders, j'ai vu une énorme différence dans le plan d'exécution. La requête avec la variable de date effectuait l'analyse d'index en cluster et l'autre effectuait une recherche d'index.
est effdate un champ varchar ou datetime? –
effdate est un champ datetime. – rsapru