> Tech > Tip 5 : Utilisez SQL efficacement

Tip 5 : Utilisez SQL efficacement

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

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

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

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