IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

createStatement() trop lent


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut createStatement() trop lent
    Bonjour,
    J'aimerai savoir si c'est normal que le createStatement prenne 5seconde en moyenne à s'effectuer?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Connection conn = dbScherzo.getJdbcConnection();
    Statement statement = conn.createStatement();
    Merci

  2. #2
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Est-ce que ce serais pas plutot le "getJdbcConnection()" qui prendrait du temps ?

  3. #3
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    En effet c'est ta méthode getJdbcConnection() qui prend beaucoup de temps.

    Le mieux que tu aies à faire c'est de créer un pool de connection.

    Ou alors si tu utilises une application standalone tu peux aussi laisser la connection ouverte tant que l'application n'est pas fermée.

    Voilà

  4. #4
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut
    Citation Envoyé par Stessy
    En effet c'est ta méthode getJdbcConnection() qui prend beaucoup de temps.

    Le mieux que tu aies à faire c'est de créer un pool de connection.

    Ou alors si tu utilises une application standalone tu peux aussi laisser la connection ouverte tant que l'application n'est pas fermée.

    Voilà

    Le coup de la connection ouverte OK mais ça n'empeche pas les 5s au démarrage de l'application, certes j'en gagne en ne le faisant qu'une fois mais au niveau de mon appli c'est encore 5s de trop (surtout aux yeux de mon supérieur).

  5. #5
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Autre test à faire, c'est une connection simplement par sqlplus depuis la même machine qui fait le getConnection et voir combien de temps ça prend.

    Si tu as 5 secondes stable, ça sent un peu le truc qui part en timeout style un serveur de nom oracle paramétré à tort dans le sqlnet.ora....

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Essayez ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import java.sql.*;
     
    class XXX
    {
      public static void main (String args [])
           throws SQLException
      {
        // Load the Oracle JDBC driver
        DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
     
        // Connect to the database
        // You must put a database name after the @ sign in the connection URL.
        // You can use either the fully specified SQL*net syntax or a short cut
        // syntax as <host>:<port>:<sid>.  The example uses the short cut syntax.
        String url = "jdbc:oracle:thin:@dlsun511:1721:dbms733";
        String userName = "scott";
        String password = "tiger";
     
        Connection conn =
          DriverManager.getConnection (url, userName, password);
        ...

  7. #7
    Membre confirmé Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Par défaut
    Je me suis poser la meme question, j'ai donc fait des traces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                Date d = new Date();
                System.out.println("  -->getJdbcConnection() " + d);
                Connection conn = dbScherzo.getJdbcConnection();
                d = new Date();
                System.out.println("  -->createStatement() " + d);
                Statement statement = conn.createStatement();
                d = new Date();
                System.out.println("  -->Fin createStatement()" + d);
    Ce qui me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      -->getJdbcConnection() Wed Aug 23 08:53:06 CEST 2006
      -->createStatement() Wed Aug 23 08:53:10 CEST 2006
      -->Fin createStatement()Wed Aug 23 08:53:10 CEST 2006
    C'est effectivement le getJdbcConnection(); qui prends du temps (autant pour moi je pensait que c'était le createStatement() ).

    Le truc c'est que le getConnection() ne passe pas à la compilation.
    Savez-vous comment remédier à ce soucis?
    Merci

Discussions similaires

  1. Convolution trop lente...
    Par progfou dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 05/08/2006, 11h44
  2. [Eclipse] Editeur de code trop lent
    Par Benzeghiba dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 10/11/2005, 14h02
  3. boucle while trop lente
    Par atouze dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 16h35
  4. [SAGE] ODBC trop lent
    Par tileffeleauzed dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/11/2004, 09h56
  5. Envoi de mail trop lent
    Par MASSAKA dans le forum ASP
    Réponses: 3
    Dernier message: 15/10/2004, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo