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

Java EE Discussion :

Optimiser une requête


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut Optimiser une requête
    Bonjour,

    Voila mon souci, j'ai une requête JPQL qui s'exécute en 1850 ms.
    Pour voir si ma requête était vraiment lourde, j'ai récupèré le code SQL généré par Hibernate et je l'ai éxécuté directement dans pgAdmin.

    Résultat, la requête ne prend même pas 1s à être exécuté ! Aucune attente ne se fait sentir.

    Comment se fait il que ma requête exécutée par mon entity manager prenne autant de temps ?

    voici la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select mc from Map m  
    JOIN m.cells mc  
    where m.id = ?1 
    and 
    mc.xPos between ?2 and ?3 
    and 
    mc.yPos between ?4 and ?5 
    order by mc.id ASC
    voici la requête SQL générée:
    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
    22
    23
    24
    25
    26
    27
     
    select
            cells2_.id as id15_,
            cells2_.xPos as xPos15_,
            cells2_.yPos as yPos15_,
            cells2_.isApproachable as isApproa4_15_,
            cells2_.picturePath as pictureP5_15_,
            cells2_.description as descript6_15_,
            cells2_.ground_fk as ground7_15_ 
        from
            Map mapobject0_ 
        inner join
            map_cells cells1_ 
                on mapobject0_.id=cells1_.map_fk 
        inner join
            Cells cells2_ 
                on cells1_.cells_id=cells2_.id 
        where
            mapobject0_.id=? 
            and (
                cells2_.xPos between ? and ?
            ) 
            and (
                cells2_.yPos between ? and ?
            ) 
        order by
            cells2_.id ASC
    avez vous une idée pour optimiser ma requête ?

    merci

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Par défaut
    Salut,

    je pense que c'est normale d'avoir un temps de repense different, puisque hibernate fait la traduction de la requete HQL à une requete SQL native.






    Cordialement,

Discussions similaires

  1. Optimiser une requête de "classement"
    Par Manu0086 dans le forum Requêtes
    Réponses: 7
    Dernier message: 09/03/2006, 18h47
  2. besoin d'aide pour optimiser une requête
    Par jisse dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 09h41
  3. Optimiser une requête..est-ce possible ?
    Par Thierry8 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/09/2005, 11h31
  4. Optimiser une requête SQL d'un moteur de recherche
    Par kibodio dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2005, 20h55

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