9
Objectif
Il existe deux types de code SQL : la requête élaborée par le client et envoyée au
serveur est appelée une requête ad hoc, souvent une requête saisie manuellement
ou construite dynamiquement, et l’objet de code stocké, dont le plus courant est la
procédure stockée. La procédure stockée offre de nets avantages de performances.
Nous allons expliquer pourquoi, et vous donner les outils pour optimiser vos procédures.
La procédure stockée est un objet de code stocké sur le serveur, créé à l’aide de la
commande CREATE PROCEDURE. Il est hors du domaine de ce livre de vous en présenter
la syntaxe : nous allons simplement nous concentrer sur quelques éléments avancés
qui vous permettront d’optimiser leur utilisation.
Autant que possible, préférez des procédures stockées à du code SQL généré du
côté client, même pour des requêtes aussi simples qu’un unique SELECT. Les procédures stockées permettent d’encapsuler et de centraliser du code sur le serveur, qui
n’aura besoin d’être modifié qu’à un seul endroit en cas de changement de logique ou
de structure de données. Elles permettent également de gérer la sécurité : grâce au
principe de chaînage de propriétaire (ownership chaining, voir ce terme dans les
BOL), vous pouvez ne donner que les privilèges d’exécution sur une procédure, sans
autoriser l’accès aux objets sous-jacents, ce qui permet de contrôler précisément les
points d’entrée et de lecture des données. L’appel d’une procédure stockée est également plus concis que l’envoi d’un long code SQL, ce qui diminue le trafic réseau.
Optimisation
des procédures stockées
Objectif
Il existe deux types de code SQL : la requête élaborée par le client et envoyée au
serveur est appelée une requête ad hoc, souvent une requête saisie manuellement
ou construite dynamiquement, et l’objet de code stocké, dont le plus courant est la
procédure stockée. La procédure stockée offre de nets avantages de performances.
Nous allons expliquer pourquoi, et vous donner les outils pour optimiser vos procédures.
La procédure stockée est un objet de code stocké sur le serveur, créé à l’aide de la
commande CREATE PROCEDURE. Il est hors du domaine de ce livre de vous en présenter
la syntaxe : nous allons simplement nous concentrer sur quelques éléments avancés
qui vous permettront d’optimiser leur utilisation.
Autant que possible, préférez des procédures stockées à du code SQL généré du
côté client, même pour des requêtes aussi simples qu’un unique SELECT. Les procédures stockées permettent d’encapsuler et de centraliser du code sur le serveur, qui
n’aura besoin d’être modifié qu’à un seul endroit en cas de changement de logique ou
de structure de données. Elles permettent également de gérer la sécurité : grâce au
principe de chaînage de propriétaire (ownership chaining, voir ce terme dans les
BOL), vous pouvez ne donner que les privilèges d’exécution sur une procédure, sans
autoriser l’accès aux objets sous-jacents, ce qui permet de contrôler précisément les
points d’entrée et de lecture des données. L’appel d’une procédure stockée est également plus concis que l’envoi d’un long code SQL, ce qui diminue le trafic réseau.
Optimisation
des procédures stockées
