> Tech > Tip 5 : Utilisez SQL efficacement

Tip 5 : Utilisez SQL efficacement

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

SQL est un langage de traitement d'ensemble, et pas un langage de traitement ligne à  ligne. T-SQL, dialecte du langage SQL de Microsoft, peut utiliser des curseurs du serveur pour accéder à  une ligne à  la fois ; mais la plupart des solutions qui utilisent les curseurs du serveur seront

plusieurs fois plus lentes que des solutions qui utilisent les instructions SELECT et les instructions UPDATE pour effectuer la tâche équivalente. Plus l’expérience de programmation en SQL est grande, et plus on utilise facilement et efficacement le langage SQL. En tirant parti des fonctions telles que des sous-requêtes, des tables dérivées et des expressions CASE pour manipuler des ensembles de lignes, on accélèrera les solutions tout en accroissant les performances de SQL Server.

Supposons, par exemple, qu’une table contienne une ligne pour chaque produit en stock et qu’une autre table contienne une ligne pour la quantité de chaque vente de ce produit. Il convient de dénormaliser la base de données et de stocker la somme des ventes de chaque produit dans la table de stock du produit. Pour générer ces sommes, on pourrait utiliser un curseur et avancer dans la table des produits ligne à  ligne. Pour chaque ligne, on pourrait ensuite trouver toutes les lignes correspondantes dans la table des ventes, additionner les quantités et utiliser cette somme pour mettre à  jour la table de stock du produit. Dans cet exemple, on peut bien sûr utiliser des curseurs du serveur pour collecter les chiffres des ventes totales, mais c’est terriblement inefficace.

On peut effectuer la même tâche en utilisant l’instruction UPDATE suivante et la sous-requête associée. Cette instruction utilise la table des titres dans la base de données publicitaire comme table de produits et, pour chaque titre, l’instruction ajoute les valeurs dans le champ qty (quantité) de la table des ventes.

UPDATE titles
SET ytd_sales =
(SELECT sum(qty) FROM sales
WHERE title_id = titles
.title_id)

Téléchargez cette ressource

Créer des agents dans Microsoft 365 Copilot

Créer des agents dans Microsoft 365 Copilot

Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech