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

Hibernate Java Discussion :

Hibernate & fetch_size sur requêtes HQL


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut Hibernate & fetch_size sur requêtes HQL
    Bonjour,

    Je suis en train de tester mon application dont la base a migré de France à un autre pays (ping 25ms contre 1ms sur l'ancien serveur de base de données).

    Du coup tout est infiniment plus long au niveau des temps de récupération des données (les temps d'exécution en base étant identiques).

    Un début de solution c'est d'utiliser le paramètre hibernate.jdbc.fetch_size mais quand je teste de nouveau des requêtes en syntaxe Hibernate (HQL) je ne vois aucune différence, et c'est toujours bien trop long.

    Si j'écris la requête en NativeQuery (exemple select * d'une table), c'est beaucoup plus rapide...sauf que je ne peux pas faire ça car toutes les données des objets mappés (clés étrangères) ne sont du coup pas récupérés.
    Ca serait un travail de Titan (+risques de régression) de recenser tous les champs utiles et en plus ça fait perdre l'intérêt d'Hibernate.
    Si j'écris en NativeQuery en mappant avec ma classe em.createNativeQuery(sql.toString(), MyHibernateClass); c'est même pire que quand c'était en HQL.

    Bref, je suis dans le flou car si ce paramètre hibernate.jdbc.fetch_size me permet de retrouver mes performances initiales sur une requête en SQL native "select a, b, c from TA, TB, where TA.id = TB.id and...", je ne vois pas comment paramétrer mon application si possible sans devoir tout réécrire.
    Pour info sur une action dans mon application (avec plusieurs requêtes derrière) je passe de 20 secondes à près de 2 minutes avec uniquement ce changement de base de données.

    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Des suggestions?

Discussions similaires

  1. Requête HQL sur association
    Par thomasl_76 dans le forum Hibernate
    Réponses: 2
    Dernier message: 14/06/2011, 13h53
  2. Requête HQL sur j2EE
    Par mansour67 dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/04/2009, 12h33
  3. [HQL] Problème sur une requête HQL
    Par romaintaz dans le forum Hibernate
    Réponses: 5
    Dernier message: 20/12/2007, 09h32
  4. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33
  5. Besoin d'aide sur requête croisée
    Par keawee dans le forum Access
    Réponses: 7
    Dernier message: 18/11/2004, 09h46

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