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 :
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.