> 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

Aborder la Blockchain, comprendre et démarrer

Aborder la Blockchain, comprendre et démarrer

Une véritable révolution se prépare progressivement... les entreprises doivent veiller à ne pas rester à l’écart et se faire prendre de vitesse. Tout comme la mobilité ou encore le cloud, la blockchain est une composante essentielle de la transformation numérique. Découvrez, dans ce dossier, comment aborder, comprendre et démarrer la Blockchain

Tech - Par iTPro - Publié le 24 juin 2010