Les jointures triangulaires

Nous avons tous entendu qu’écrire du code ensembliste pour gérer des données dans une base de données est la meilleure façon d’obtenir des performances correctes.

Il est vrai qu’il est difficile pour un développeur ayant une expérience du développement d’applications, en quelque langage de programmation que ce soit, de passer du code procédural, qui, en outre, traite des jeux de données extraits de bases de données « ligne par ligne », à un langage conçu pour manipuler des ensembles de données.

Nous n’aborderons pas ici l’utilisation, à proscrire, des curseurs et des boucles utilisant la commande WHILE, mais nous allons voir que, si l’on croit avoir écrit du code ensembliste, il s’agit en fait de code procédural, et qu’il peut s’avérer être contre-performant. Lire la suite

Voir les statistiques du client avec SQL Server Management Studio

Nombreux sont les boutons dans la barre d’outils de l’éditeur SQL proposé par SQL Server Management Studio (SSMS).

L’un d’entre eux permet d’obtenir des statistiques sur l’exécution de requêtes, sur les échanges réseau entre SSMS et le moteur de base de données, et sur le temps d’exécution de la requête, comme par exemple le délai d’attente de réponse du serveur.

Voyons comment les obtenir …
Lire la suite

Utiliser le type TABLE avec SQL Server 2008

Il est parfois nécessaire de créer un curseur pour exécuter une procédure stockée sur chacune des lignes du curseur, en passant en paramètre les valeurs des colonnes de la requête qui spécifie le curseur.
SQL Server 2008 a introduit le type TABLE, qui permet de spécifier par un type des variables de type TABLE.
Cette solution est une alternative moins pire que le curseur : voyons comment l’utiliser (avec modération !)
Lire la suite