> Tech > V. Le texte des requêtes dynamiques doit être parfaitement identique

V. Le texte des requêtes dynamiques doit être parfaitement identique

Tech - Par iTPro - Publié le 24 juin 2010
email

Pour les requêtes dynamiques, le texte des requêtes doit être identique pour pouvoir être réutilisées. Des petites différences comme des caractères d'espace supplémentaires ou une différence de case dans le texte généreront des plans différents, et aucune réutilisation des plans cachés.

Les commentaires sont également considérés

V. Le texte des requêtes dynamiques doit être parfaitement identique

comme une partie du texte de la requête. Par conséquent les requêtes ci-dessous généreront deux plans cachés différents :

—this is an example of an adhoc query
if exists(Select Name From HumanResources.Department Where DepartmentID=10) declare @x int;
Go

—this is an example of an adhoc query with different comment
if exists(Select Name From HumanResources.Department Where DepartmentID=10) declare @x int;
Go

Utilisez la requête ci-dessous pour regarder le sql_handle et les plan_handles et pour noter qu’ils sont différents :

Select text, sql_handle, plan_handle
From sys.dm_Exec_query_stats qs Cross Apply sys.dm_Exec_sql_text(sql_handle)
Where text like ‘—this is an example %’
Go

Voir listing 3.
Attention aussi aux options positionnées lors de l’exécution des requêtes. Par exemple, OSQL positionne Quoted_ Identifier a ON alors que SQL Server Management Studio positionne Quoted_Identifier à OFF. Des requêtes identiques exécutées depuis ces différents clients auront des plans différents.

Téléchargez gratuitement cette ressource

Guide des Services Managés pour se moderniser et se sécuriser

Guide des Services Managés pour se moderniser et se sécuriser

À l’heure où les talents du numérique sont rares et difficiles à séduire, comment bénéficier des meilleures compétences en infrastructure Cloud ou en cybersécurité pour gagner en agilité et en cyber-résilience ? Découvrez le Guide des Services managés dédiés aux PME.

Tech - Par iTPro - Publié le 24 juin 2010