|
Impact des prepared statements JDBC sur les performances |
|
|
|
Programmation -
J2EE/Java(script)
|
|
Ecrit par Kamal AOUDA
|
|
13-04-2006 |
|
Impact des prepared statements JDBC sur les performances
Lorsqu’une requête de type Statement est exécutée le gestionnaire de base de
données déclenche en arrière plan les opérations suivantes :
* Parsing des requêtes pour vérifier qu’elles respectent la syntaxe.
* Trouver le meilleur algorithme pour effectuer la recherche.
* Trouver l’emplacement des index.
* Trouver l’emplacement des tables.
* Trouver les enregistrements qui répondent aux critères de la requête.
La charge de travail engendrée par ces opérations peut être réduite grâce aux
requêtes précompilées appelées Prepared Statements dans le jargon des bases de
données. Lorsque ces requêtes sont exécutées pour la première fois elles sont
compilées à l’instar des requêtes Statement. Cependant, de la deuxième à la nème
fois le gestionnaire de base de données ne les recompile pas. Il se contente de
rechercher directement les enregistrements qui répondent à leurs critères. En
fait les Prepared Statements sont un dispositif qui permet de « préparer » une
requête une fois pour toute, puis de l'exécuter plusieurs fois avec des
paramètres différents.
Pour qu’elles contribuent à l’amélioration des performances, les deux conditions
suivantes doivent être réunies :
* La structure de la requête reste la même pendant l’exécution de l’application.
* Seuls les paramètres de la requête changent (dans l’exemple ci-dessous les
points d’interrogations correspondent aux paramètres de la requête).
PreparedStatement updateSales = con.prepareStatement(
"UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ?");
|
|
Dernière mise à jour : ( 13-04-2006 )
|