Il est important de noter qu'en indiquant des paramètres à la requête toutes les instructions, le même lot devrait être paramétré. Considérez l'exemple où nous emploierons le sp_Executesql et paramétrons les requêtes :
Declare @param_value Int, @sqlstring Nvarchar(500), @param_definition Nvarchar( 500), @col2 Int;
Set @param_value
I. Paramétrage des requêtes côté client (4)
= 5;
Set @sqlstring = N’Select @col2_out = col2 From t1 Where col1 = @param;
Update t1 Set col1 = col1 + 1 Where col2 = 6′;
Set @param_definition = N’@param int, @col2_out int output’;
Exec sp_Executesql @sqlstring, @param_definition, @param = @param_value, @col2_out = @col2 output;
Set @sqlstring = N’Select @col2_out = col2 From t1 Where col1 = @param;
Update t1 Set col1 = col1 + 1 Where col2 = 7′;
Exec sp_Executesql @sqlstring, @param_definition, @param = @param_value, @col2_out = @col2 output;
Go
L’instruction Select a été paramétrée, alors que l’instruction Update ne l’a pas été rendant chaque lot unique. Quand ces 2 lots sont exécutés, ils ont un plan compilé pour chaque dans le cache.
(@param int, @col2_out int output)Select @col2_out = col2 From t1 Where col1 = @param; Update t1 set col1 = col1 + 1 Where col2 = 6
(@param int, @col2_out int output)Select @col2_out = col2 From t1 Where col1 = @param; Update t1 set col1 = col1 + 1 Where col2 = 7
Sans la réutilisation du plan compilé préparé, chaque lot qui entre est compilé et un nouveau plan et est inséré dans le cache. Ce qui entraînera une dégradation des performances due au grand nombre de plans compilés dans le cache. Par conséquent, il est important de s’assurer que tous les instructions dans le lot sont paramétrées comme suit :
declare @param_value int, @sqlstring Nvarchar(500), @param_definition Nvarchar( 500), @col2 Int;
set @sqlstring = N’Select @col2_out = col2 From t1 Where col1 = @param1;
Update t1 set col1 = col1 + 1 Where col2 = @param2′;
set @param_definition = N’@param1 int, @param2 int, @col2_out int output’;
set @param_value = 6;
Exec sp_Executesql @sqlstring, @param_definition, @param1 = @param_value, @param2 = @param_value, @col2_out = @col2 output; set @param_value = 7;
Exec sp_Executesql @sqlstring, @param_definition, @param1 = @param_value, @param2 = @param_value, @col2_out = @col2 output;
Go
Un seul plan compilé est produit et utilisé pour les deux exécutions :
(@param1 int, @param2 int, @col2_out int output)Select @col2_out = col2 From t1 Where col1 = @param1; Update t1 set col1 = col1 + 1 Where col2 = @param2
Cette approche est recommandée pour le paramétrage des lots ayant plus d’une requête puisqu’elle tire bénéfice de la réutilisation des plans et évite les problèmes de grossissement du cache de plan. Attention à l’utilisation excessive des requêtes préparées : Si une requête doit être exécutée seulement une fois, alors il est probablement plus efficace d’exécuter directement la requête sur le serveur. Ceci évite un aller-retour sur le réseau pour la préparer.
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Chiffrements symétrique vs asymétrique
Les plus consultés sur iTPro.fr
- Tendances 2026 : l’IA devra prouver sa rentabilité
- L’identité numérique : clé de voûte de la résilience et de la performance en 2026
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 6 tournants qui redéfinissent l’IA en entreprise
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
