Plutôt une grosse requête multitables ou plein de requêtes séparées ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Alorsladaccord, 24 Mai 2017.

  1. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    481
    J'aime reçus:
    0
    Bonjour,

    J'ai une grosse requête à faire là, qui va chercher sur au moins 6 tables d'un coup. Ca va faire une sorte de gros arbre super touffu.

    Je sais pas si c'est une bonne idée. Et ça va être casse-tête. Faisable, mais casse-tête.

    Je me demande si je ne devrais pas plutôt faire une requête simple sur une ou deux tables, puis à l'intérieur de la boucle while, refaire une requête avec une nouvelle boucle while dans laquelle je refais une requête.

    Qu'est-ce que vous en pensez ?
     
  2. Madrileño
    Madrileño Membre Honoré
    Inscrit:
    7 Juillet 2004
    Messages:
    32 139
    J'aime reçus:
    272
    Bonjour,
    Que ce soit l'un ou l'autre, le problème sera la possible génération d'erreur, s'il y a une erreur à un moment.

    Cordialement.
     
  3. patrick_lejeune
    patrick_lejeune WRInaute occasionnel
    Inscrit:
    1 Avril 2016
    Messages:
    428
    J'aime reçus:
    0
    Dans des bases de données relationnelles, la solution est souvent de multiplier les tables: tes requêtes spécifiques ne se baserons plus sur des grosses tables mais sur une multitutes de petites.
    J'utilise une "gestion commerciale" que j'ai programmé pour moi (elle fait un peu plus, ticket de caisse, déclaration TVA, inventaire, ...) . J'utilise plus de 30 tables ... certaines sont liées en PHP, d'autres pas. J'ai simplement séparé les clients des fournisseurs, les familles de produits des articles, les codes comptables sont créés quand je met un produit en fonction de la famille MAIS, les codes comptables sont aussi repris dans la fiche produit (donc modifiable pour un seul produit). Créere des bases de données, c'est d'abord beaucoup de réflexion.
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 779
    J'aime reçus:
    239
    Dans mon dernier site perso, pour afficher une liste de prix j'ai des requêtes qui tapent dans plus de 10 tables.
    Mais une fois que les relations (ForeignKey, OneToOne, ManyToMany) sont définies dans les models, tout est transparent, même pas besoin de taper la moindre ligne de SQL.
     
  5. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    la réponse m'intéresse aussi en terme de performance...
    Avant je ne faisais jamais de jointure et je relançais une requête pour chaque jointure, maintenant j'utilise les jointures, d'après le peu de recherche que j'ai que j'ai les jointures sont mieux niveaux performances sauf certains cas spécifiques
     
  6. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    481
    J'aime reçus:
    0
    Salut à vous tous,

    Oui, le problème, c'est que souvent, au fur et à mesure que l'on programme, on se rend compte que ceci et cela peut être fait différemment, ou alors que l'on peut en profiter pour ajouter quelque chose et donc au final, le projet n'est plus ce qu'il était au départ.
    Vous allez me dire que je ne sais pas planifier un projet informatique, mais reconnaissez qu'un programmeur qui rend son travail dans les délais prévus, c'est aussi rare qu'un ticket de loterie gagnant.

    OneToOne, ManyToMany... On en apprend tous les jour (surtout avec spout) ! A part les clefs étrangères, je ne connais rien d'autre.


    Mais j'ai peut-être mal posé le problème, en fait. Car je compte utiliser la POO pour ce site (premier essai).
    Donc en fait, je vais créer une classe, puis générer des objets (des articles en fait) dont les paramètres seront définis par la variable retournée par l'URL (rien que de très classique).
    Par suite, le mieux n'est-il pas tout simplement, pour chaque attribut de l'objet, de faire une requête qui permette d'en définir la valeur ?

    Ca me parait beaucoup plus fluide lors de la lecture du script.
    SInon, il faut que je fasse une grosse requête, puis dans la boucle while, définir la valeur de chaque variable, je trouve que ça fait grosse boule compact, c'est moche.
     
  7. patrick_lejeune
    patrick_lejeune WRInaute occasionnel
    Inscrit:
    1 Avril 2016
    Messages:
    428
    J'aime reçus:
    0
    Clair que Spout maitrise des langages et des techniques que 90% des utilisateurs de WRI n'on même jamais entendu parler.
     
  8. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    481
    J'aime reçus:
    0
    Bon en même temps, c'est pas tous notre boulot principal.
     
Chargement...
Similar Threads - Plutôt grosse requête Forum Date
WordPress Référencer par défaut Home plutôt que Accueil Référencement Google 5 Septembre 2019
Intérêt d'avoir un groupe Facebook privé plutôt que public ? Facebook 22 Septembre 2017
Création d'une version mobile supplémentaire plutôt qu'une version responsive unique Référencement Google 26 Mai 2017
Demander la désindexation de 5000 url d'un seul coup, plutôt qu'une par une ? Débuter en référencement 17 Juillet 2014
Redirection plutôt que page 404 Débuter en référencement 14 Février 2014
Ma source n'affiche pas les accents mais plutôt é.... Débuter en référencement 10 Octobre 2013
Vous dites plutôt du SEO ou de la SEO ? Le café de WebRankInfo 7 Juin 2013
[Recherche] Un Cms plutôt particulier... Développement d'un site Web ou d'une appli mobile 14 Octobre 2012
La balise rel="author" peut-elle désigner une Page Google+ plutôt qu'un Profil ? Google+ 11 Juillet 2012
Faire apparaitre le bénéfice plutot que le CA Google Analytics 12 Juin 2012
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice