09.02.2013 Views

Adaptive Server Anywhere Guide de programmation - Sybase

Adaptive Server Anywhere Guide de programmation - Sybase

Adaptive Server Anywhere Guide de programmation - Sybase

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Préparation <strong>de</strong>s instructions<br />

Préparation <strong>de</strong>s instructions<br />

Instructions<br />

préparées et<br />

amélioration <strong>de</strong>s<br />

performances<br />

Ne préparez pas<br />

les instructions qui<br />

ne seront<br />

exécutées qu'une<br />

fois<br />

12<br />

Chaque fois qu'une instruction est envoyée à une base <strong>de</strong> données, le serveur<br />

doit d'abord la préparer. La préparation <strong>de</strong> l'instruction englobe plusieurs<br />

tâches :<br />

♦ Analyse <strong>de</strong> l'instruction et conversion en un format interne.<br />

♦ Vérification <strong>de</strong> toutes les références aux objets <strong>de</strong> base <strong>de</strong> données, en<br />

contrôlant, par exemple, l'existence <strong>de</strong>s colonnes nommées dans la liste<br />

d'une requête.<br />

♦ Si l'instruction implique <strong>de</strong>s jointures ou <strong>de</strong>s sous-requêtes, génération<br />

d'un plan d'accès par l'optimiseur <strong>de</strong> requêtes.<br />

♦ Exécution <strong>de</strong> l'instruction une fois toutes ces opérations accomplies.<br />

Si vous utilisez une même instruction <strong>de</strong> façon répétitive, par exemple pour<br />

insérer <strong>de</strong>s lignes dans une table, le fait <strong>de</strong> répéter la préparation <strong>de</strong><br />

l'instruction entraîne une surcharge importante et inutile. Pour éliminer cette<br />

surcharge, certaines interfaces <strong>de</strong> <strong>programmation</strong> <strong>de</strong> bases <strong>de</strong> données<br />

autorisent le recours à <strong>de</strong>s instructions préparées. Une instruction préparée<br />

est une instruction contenant une série <strong>de</strong> marques <strong>de</strong> réservation. Au<br />

moment <strong>de</strong> l'exécuter, il vous suffit d'attribuer <strong>de</strong>s valeurs aux marques <strong>de</strong><br />

réservation au lieu <strong>de</strong> recommencer entièrement la préparation <strong>de</strong><br />

l'instruction.<br />

Le recours aux instructions préparées est particulièrement utile pour effectuer<br />

plusieurs actions i<strong>de</strong>ntiques, par exemple pour insérer plusieurs lignes.<br />

L'utilisation d'instructions préparées implique généralement les étapes<br />

suivantes :<br />

1 Préparation <strong>de</strong> l'instruction Cette étape consiste généralement à fournir<br />

l'instruction avec <strong>de</strong>s marques <strong>de</strong> réservation et non <strong>de</strong>s valeurs.<br />

2 Exécution à plusieurs reprises <strong>de</strong> l'instruction préparée Dans cette<br />

étape, vous fournissez les valeurs à utiliser chaque fois que l'instruction<br />

est exécutée. Il est inutile <strong>de</strong> préparer chaque fois l'instruction.<br />

3 Suppression <strong>de</strong> l’instruction Dans cette étape, vous libérez les<br />

ressources associées à l'instruction préparée. Certaines interfaces <strong>de</strong><br />

<strong>programmation</strong> gèrent automatiquement cette étape.<br />

En général, il est superflu <strong>de</strong> préparer <strong>de</strong>s instructions si elles ne doivent être<br />

exécutées qu'une seule fois. La préparation et l'exécution d'une instruction<br />

ponctuelle pénalisent légèrement les performances et compliquent<br />

inutilement votre application.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!