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

JDBC Java Discussion :

Se co puis déco à la bd à chaque requete ?


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut Se co puis déco à la bd à chaque requete ?
    Bonjour,
    j'utilise HSQLDB pour un programme java. Pour l'instant je l'ouvre puis le ferme à chaque requete que je fais.
    je fais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Class.forName("org.hsqldb.jdbcDriver").newInstance();
    			connexion = DriverManager.getConnection("jdbc:hsqldb:file:nomBD", "sa",  "");
     
     
    REQUETE
    Statement statement = connexion.createStatement() ;
    statement.executeQuery("SHUTDOWN");
    			statement.close();
    			connexion.close() ;
    Mais, je me pose des questions sur la lourdeur de l'ouverture/fermeture ?
    En effet, jai des procedures d'import export a mettre, qui vont parfois faire plus de 10 000 requetes à la suite. Et je ne sais pas du tout si ouvrire puis fermer à chaque fois est lourd, ou est totalement ridicule niveau ressource?

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    C'est sûr qu'ouvrir/fermer 10000 fois de suite est plus lourd que de ne le faire qu'une seule fois ...

    Après si c'est un cas exceptionnel, tu peux garder ton système d'ouverture/fermeture à chaque requête pour le reste ... ça n'a pas beaucoup d'impact si l'exécution de 2 requêtes successives est étalé dans le temps.

    je ne vois pas d'autres réponse à t'apporter ... (en même temps j'ai jamais bossé avec une base embarquée donc je ne suis peut être pas de bon conseil )

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Très difficile de répondre dans l'absolu à cette question ...
    En fait, ce que je te conseille (je ne connais pas HSQLDB mais ai fait l'expérience avec d'autres bases) c'est dans le contexte de ton application, de faire des tests de perfo avec les deux solutions si la perfo est vraiment importante. Les résultats peuvent être vraiment très surprenants ! (ex d'une application avec mysql qui allait plus vite si on ouvrait/fermait à chaque fois)

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Si les différentes requêtes sont assez espacées dans le temps, il peut être dangereux de maintenir une connexion ouverte et de lui appliquer directement les requêtes.

    J'ai déjà eu le cas où côté serveur SQL, on avait défini un timeout qui fermait d'autorité la connexion après un certain temps d'inativité.

    Dans ce cas, si on veut maintenir la connexion, il faut prendre garde à écrire une petite méthode qui vérifie que la connexion est toujours active (et qui la régénère le cas échéant) avant d'exécuter la requête.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Ah ok, interessant ca merci bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. requete qui marche, puis qui marche plus, puis qui marche ..
    Par exyacc dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/04/2006, 19h32
  2. [Requete] Calcul Somme entre deux temps pour chaque jour
    Par nico33307 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/03/2006, 00h58
  3. [VB6]Puis-je construire ce type de requete?
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/03/2006, 10h41
  4. Réponses: 7
    Dernier message: 05/11/2005, 15h53
  5. [SQL]Somme pour chaque colonne de requete analyse
    Par Kekou03 dans le forum Access
    Réponses: 2
    Dernier message: 12/03/2005, 03h34

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