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

Symfony PHP Discussion :

[2.X] Optimisation du KNPPaginator


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut [2.X] Optimisation du KNPPaginator
    Bonjour à tous

    Alors voilà j'ai un problème d'optimisation avec le KNP Paginator. J'ai une (trés) grosse requête avec beaucoup de LEFT JOIN et depuis que j'ai mis en place le paginator celui-ci m'exécute deux requêtes :
    1) La premiere pour récupérer tous les IDs des éléments de la page à afficher
    2) La seconde pour récupérer toutes les valeurs correspondantes aux IDs.

    Jusqu'ici, tout semble normal, seulement voilà, le Paginator m'ajoute obligatoirement tous les LEFT JOIN à la première requête, ce qui est trés long. Or ce n'est pas nécéssaire, l'utilisateur ne peu pas trier sur les lefts join, ça ne va donc pas du tout changer le résultat obtenu.
    Ma question est-donc la suivante : Existe t'il un moyen de dire au paginator d'exécuter 2 requête differentes ? Une sans les LEFT JOINS inutiles et long pour récupérer les IDs et l'autre avec tous les LEFT JOINS mais sur seulement quelques éléments pour récupérer toutes les informations.

    Merci d'avance de votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Bon montre nous un bout de code pour plus de visibilité .
    Dans la documentation de knpPaginator l'action listAction utilise une requête native pour sql .
    tu as fais pareil?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    C'est assez difficile de sortir un bout de code parce toute la requete est générée par un second bundle. Le code est donc trés découpé.
    Le code d'appel à la pagination est le suivant (mais c'est trés léger)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $fresults = $this->paginator->paginate(
                        $query,
                        $page,
                        $this->requestParams['length'],
                        array(
                            'distinct' => true,
                            'wrap-queries' => boolval($useWrapQueries),
                        )
                    );
    La requête envoyée au paginator est en DQL

Discussions similaires

  1. Optimisation de votre SGBDR et de vos requêtes...
    Par SQLpro dans le forum Langage SQL
    Réponses: 35
    Dernier message: 11/01/2013, 11h49
  2. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2003, 08h54
  3. [VB6] [BDD] Optimisation de l'accès aux données
    Par LadyArwen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/01/2003, 13h27
  4. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 08h47
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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