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

JPA Java Discussion :

Problème de performance


Sujet :

JPA Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut Problème de performance
    Bonjour à tous,
    Voici mon problème :

    Mon application doit traiter des fichiers de gros volumes (fichiers pouvant faire entre 30 000 et 100 000 lignes).

    Sur certaines lignes (environ 40 % des lignes du fichier), je dois aller interroger ma base de données pour vérifier si celle-ci apparait dans le catalogue. J'ai donc une fonction dans un DAO qui va interroger le catalogue à partir d'un libellé.

    Au début du traitement du fichier, cette fonction a des perfs tout à fait normales, mais au fur et à mesure de l'avancement du traitement, cela peut prendre plus d'une seconde (voire plusieurs secondes).

    Est-ce que vous auriez des idées sur les causes possibles ?
    J'ai fais des analyses de la mémoire, rien ne me semble choquant. Peut-être est-ce un problème dans la gestion des transactions ?

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Par défaut
    Je pencherais aussi pour un problème transactionnel. Peux tu nous dire quelle implémentation tu utilises?

    Assure toi de ne pas faire de transactionnel ou il n'en faut pas, tu vas faire un certain nombre de select et de vérification avant de décider ou non de persister l'objet, ouvre ta transaction qu'au moment de persister, ce qui t'evitera de travailler en mode transactionnel lorsque tu décides de ne pas insérer tes lignes.

    Ceci dit cela n'explique pas le comportement que tu décris. J'ai eu un problème similaire, qui était du à du cascade all et du merge, hibernate se metait à générer autant de requetes externes que de tuples dans la table d'association que je remplissait, ce qui au fur et a mesure que je la remplissait mettait de plus en plus de temps. J'ai finis par faire un show sql pour m'en rendre compte, et y remedier.

    Je te conseil donc de lancer en débug+show sql et de voir quelles sont les requetes générés, il est possible qu'elles soient mal formées ou que tu ramenes des données inutiles.

Discussions similaires

  1. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  2. [jeu]problème de performance d'un algo
    Par le Daoud dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 30/05/2005, 16h07
  3. [C#] Probléme de performance avec IsDbNull
    Par jab dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/04/2005, 11h39
  4. [oracle 9i][Workbench]Problème de performance
    Par nuke_y dans le forum Oracle
    Réponses: 6
    Dernier message: 03/02/2005, 17h38
  5. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18

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