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 :

[HSQLDB] C'est trop lent


Sujet :

JDBC Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut [HSQLDB] C'est trop lent
    Bonjour, voila j'utilise une base donnée HSQLDB pour gerer des questionnaire.
    J'ai fais ce choix car je voulais une base de données embarqué et portable. Le problème c'est que c'est beaucoup trop long, notament et surtout à l'ouvertur de la base de données.
    J'utilise des tables mise memoire, et je pense que le problème doit venir de là. Mon fichier .scripte pese dans les 15 Mo, et doit pouvoir etre encore plus gros.
    J'ai crue comprendre que HSQL pouvait etre stocker dans tables en modes text, jai regardé la doc sur le site, mais je dois avouer que je n'ai pas du tout compris (je ne trouve pas la doc très clair, mais il est vrai que mon anglais laisse pafois à désirer).
    J'aurais donc voulue plusieurs choses :
    Tout d'abord est ce qu'en passant par des fichiers text, cela sera plus rapide (pour l'ouverture) ?
    Si oui, quelqu'un pourrait i lm'expliquer comment cela marche ?
    Sinon, vers quel autres base de données puis je me porter ?

  2. #2
    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 : 41
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Une solution très pratiquée à l'heure actuelle quand on veut sauvegarder des données sans utiliser de base de données externe est de gérer la persistance sous la forme de fichiers XML.

    Un des avantages (ou défauts... cela dépend de l'utilisation qu'on veut en faire) est qu'il est possible d'aller modifier les données directement en éditant directement les fichiers XML en question, ceux-ci étant lisibles et compréhensibles en mode texte.

    Par exemple GanttProject gère la persistance et la sauvegarde des projets en XML.
    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

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    J'y avais penser, mais la une base de données est obligatoire, mais merci ^^

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut
    Bonjour,

    j'ai utilisé HSQLDB et je n'ai pas eu de problèmes majeures surtout de timing puisque c'est une des plus rapides Base de données embarquées.

    Sinon je me suis toutnées sur H2 et puis enfin qui est devenu ma preferé sur DERBY quis sera d'ailleurs native dans la prochaine version de JAVA.

    tu as une documentation tres complète sur leur site :

    http://db.apache.org/derby/

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Qu'as tu mis en place comme index, attaques tu tes bases selon les colonnes indexées lorsque tu lances des requêtes lourdes, quand codes une requête utilises des jointures internes ou des sous requêtes?

    En général ce n'est pas le SGBD (enfin pas plus que çà) qui est lent mais plutôt la conception qui est limite, ou les requêtes qui sont mal foutues (un query plan foireux suffit pour que ta requête prenne trois plombes).

    ++
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Mh merci bien, je regardais justement JavaDB (qui est si je comprend bien le noueau nom de Derby). Sinon j'aimerais ne pas avoir à changer de bd, donc pour vérifier, tu dis que tu n'avais pas de problème de lenteur sous HSQL ?
    La, j'ai un fichier .script qui doit faire 15 Mo, et pour juste ouvrir la base (donc faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connexion = DriverManager.getConnection("jdbc:hsqldb:file:"nomBD, "sa",  "");
    cela me prend bien 8s. Et certaine requete deviennent parfois très longue.

    Edit ah, je n'avais pas vu le message de sinok.

    Bah, il ya deux problème, le premier qui est la lenteur au niveau de l'ouverture.
    Le deuxième au niveau des requetes.
    POur les indexs, oui j'ai mis en place plusieurs indexs. Mes requetes sont faite par des sous requetes en général, mais celle qui me posent problèmes sont des requetes toutes simple.


    reedit : si mon fichier script pass à un peu plue de 16Mo, je passe à 25 s pour ouvrir la base de données ...

    Je n'ai aucune idée si c'est normal ou pas en fait :/

Discussions similaires

  1. [XL-2003] Macro qui fonctionne mais c'est trop lent
    Par lululaberlu dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/08/2009, 12h02
  2. BDD Access - mon code est trop lent !
    Par alexbesn2 dans le forum C#
    Réponses: 1
    Dernier message: 07/05/2009, 11h37
  3. mon ordinateur est trop lent
    Par kawther dans le forum Sécurité
    Réponses: 3
    Dernier message: 21/12/2008, 20h03
  4. la vitesse est trop lente
    Par stéphanie123 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/05/2008, 13h43
  5. PHP 5 est trop lent.
    Par raphpell dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2008, 21h24

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