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

Langage PHP Discussion :

MVC : multiples objets multiples requêtes ou monoobjet mono requête


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    710
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 710
    Par défaut MVC : multiples objets multiples requêtes ou monoobjet mono requête
    Bonjour,

    en développant un site en objet, je suis confronté à l'interrogation suivante : Un membre de mon site est lié à des catégories (1 ou n) et ces catégories sont liées à des mots clés (1 ou n).
    - une classe Motcle
    - une classe Categorie qui a notamment cet attribut : Motcle[]
    - une classe Personne qui a notamment cet attribut : Categorie[]

    Un jeu de données pourrait être :

    - personne1 - categorie1 - motclé1
    - personne1 - categorie1 - motclé2
    - personne1 - categorie1 - motclé3
    - personne1 - categorie2 - motclé1
    - personne1 - categorie2 - motclé2
    - personne1 - categorie2 - motclé3
    - personne2 - categorie1 - motclé1


    Ainsi dans lorsque je recherche une liste de personnes, je fais une requête SQL qui me remonte les personnes et j'instancie des objets Personne. Le truc c'est que pour créer des objets Categorie et Motcle, je me sens obligé de refaire 2 requêtes SQL (avec comme restriction, la liste des membres trouvés). Au total 3 requêtes ! En terme d'optimisation, c'est pas forcément le top, non ?

    L'autre solution à laquelle j'ai pensé est de faire une requête globale qui remonte les personnes, les catégories liés aux personnes et les mots clés des catégories et ensuite de passer au constructeurs de mes classes les colonnes adéquates. Je ne trouve pas cette solution très propre car une même personne est présente sur plusieurs lignes de résultats...

    Avez vous été confrontés au même problème ? quelle solution avez vous mis en oeuvre ?

    Merci de vos conseils !

  2. #2
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 722
    Par défaut
    En terme d'optimisation, c'est pas forcément le top, non ?
    Si si, c'est plutôt pas mal

    3 requêtes c'est rien, et la complexité du nombre de requête est lié au nombre de liaison avec les tables voisines, ce qui fait que le nombre de requête sera toujours assez faible.

  3. #3
    Membre éclairé Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    710
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 710
    Par défaut
    Ok, si je pousse le concept multi requêtes pour faire le plus propre possible :

    step 1 : recherche des personnes
    step 2 : pour chaque personne trouvée : X requêtes de recherche des catégories
    step 3 : pour chaque catégorie trouvée : Y requêtes de recherche des mots clés

    ok c'est propre, mais c'est pas un peu lourd là cette démultiplication des requêtes ?

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Par défaut
    Citation Envoyé par grinder59 Voir le message
    L'autre solution à laquelle j'ai pensé est de faire une requête globale qui remonte les personnes, les catégories liés aux personnes et les mots clés des catégories et ensuite de passer au constructeurs de mes classes les colonnes adéquates. Je ne trouve pas cette solution très propre car une même personne est présente sur plusieurs lignes de résultats...
    C'est ce que font les ORM quand on leur demande de tout récupérer d'un coup pour éviter de multiplier les requêtes. Quand tu veux tout récupérer d'un coup, il y a pas 36 méthodes. Et pour les perfs forcément c'est préférable.

Discussions similaires

  1. Jointure multiple ou multiple requête?
    Par Just dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/08/2008, 10h12
  2. OSG et sélection d'objets multiples
    Par mmx dans le forum OpenSceneGraph
    Réponses: 7
    Dernier message: 11/07/2008, 11h31
  3. [AJAX] multiples objets XMLHttpRequest
    Par fabrice91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2007, 15h20
  4. Algorithme de gestion d'objets multiples
    Par aderdu91 dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 18/04/2007, 23h11
  5. [java3D] multiples objets, animation alpha
    Par samtheh dans le forum 3D
    Réponses: 1
    Dernier message: 28/03/2007, 16h57

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