Performances des applications avec SQLJ

Le SQL statique qu'utilise SQLJ peut souvent s'exécuter plus rapidement que le SQL dynamique que JDBC utilise.

Pour traiter une instruction SQL, le serveur de bases de données effectue les étapes suivantes :

  1. Il vérifie l'instruction SQL pour les erreurs de syntaxe et génère tout message d'erreur résultant.
  2. Il vérifie que les objets de la base de données existent dans l'instruction et possèdent des types de données appropriés.
  3. Il optimise la syntaxe de l'instruction SQL, tout en déterminant le chemin d'accès optimal pour lire ou écrire les données exigées de l'instruction. Pour une simple instruction SQL, l'optimisation peut être simple, mais pour une instruction SQL complexe s'exécutant sur plusieurs tables dotées d'un grand nombre d'index, le processus d'optimisation peut avoir plusieurs options.
  4. Exécute l'instruction SQL.

Avec un SQL dynamique, le serveur de base de données répète ces étapes pour chaque instruction SQL lors de l'exécution (certains serveurs peuvent mettre en mémoire cache les résultats des deux premières étapes pour les instructions SQL dynamiques exécutées de manière répétitive). Le traitement associé à ces étapes a un effet sur les performances du SQL dynamique.

Avec un SQL statique, une grande partie du travail préliminaire est effectué lors de la conception. A chaque fois que le plan de travail crée un fichier SQLJ, le traducteur SQLJ effectue le contrôle de la syntaxe et de la cohérence, et crée un fichier source Java qui correspond au fichier SQLJ. Vous pouvez utiliser l'assistant du plan de travail pour créer et exécuter des scripts de personnalisation SQLJ. Le script de personnalisation crée des packages qui contiennent des informations sur les instructions SQL statiques afin de relier les classes Java à la base de données. Puis, lorsque vous exécutez l'application, le travail préliminaire a déjà été effectué, ce qui peut conduire à de meilleures performances.

Concepts associés
Présentation de SQLJ
Projets Java SQLJ et fichiers SQLJ
SQLJ dans DB2
Processus de personnalisation et de liaison pour DB2
Tâches associées
Création de fichiers SQLJ

Commentaires