Je suis sur un projet Symfony dans lequel je dois récupérer des données utilisateurs sur Instagram pour mesurer leur activité.
Ma BDD se compose de 4 tables :Instamgrameur/Post/Follower/Following.
Les tables Followers/Following se compose uniquement de leur id, le compteur(nombre de personnes) et la date de maj du compteur.
La table Post se compose de l’id, l’auteur, et la date du post de chaque instamgrameur.
A savoir que la date de mise à jour est définie par un scraper qui récupère et insère ces données en BDD.
Je voudrais afficher dans un seul et même tableau le nombre de posts, de followers et following par instamgrameur à la dernière date de mise à jour par ligne.
Quelle serait la meilleure méthode pour récupérer l’ensemble de ces données dans ces différentes tables et arriver à les afficher dans le tableau.
J’imaginais 2 solutions:
une jointure sur toutes les tables pour en récupérer chaque donnée.
ou une requête par info mais en termes de performance ca doit pas être optimisé sans compter l’affichage de différentes requêtes dans la même ligne d’un tableau avec Twig.
Concernant la requête j’ai du mal à voir la structure.
SELECT * FROM instagrammer, post, follower, following WHERE post.id=instagrammer.id, follower.id=instagramer.id, follower.id=instagramer.id, following.id=instagramer.id
SELECT * FROM instagrammer, post, follower, following WHERE post.id=instagrammer.id, follower.id=instagramer.id, follower.id=instagramer.id, following.id=instagramer.id
- Edité par Adrien Supra il y a 5 minutes
On va éviter les "jointures" avec des tables dans la table from et des where, il y a l'instruction JOIN pour ça
Il y a pas forcément toute les infos mais si la date d'update dans les tables followers et following correspondent à la date dans post et aussi que l'auteur corrspond à l'id dans instamgrameur alors il faudrait faire une jointure dessus mais ça aurai été mieux avec des id qui sont lié entre les tables
Il faut bien sûr éviter de mettre une requête dans une boucle, en terme de performance c'est moyen ...
Peux-tu nous préciser la structure exacte de tes tables : colonnes, types et clés ?
Peux-tu nous donner un exemple de résultat attendu ?
quenti77 a écrit:
On va éviter les "jointures" avec des tables dans la table from et des where, il y a l'instruction JOIN pour ça
Adrien Supra a écrit:
moi sa fait des mois que j'ai pas fait une jointure interne avec ON, mes script tourne bien.
Les deux syntaxes sont correctes et fonctionnelles, il n'y a aucune différence en terme de performance entre les deux. On va juste dire que c'est un peu "obsolète" d'écrire les jointures dans la clause WHERE ...
Pour la petite histoire, depuis la mise en place des jointures explicites avec le mot clé JOIN, en 1992 (SQL 2), il est conseillé d'utiliser cette syntaxe pour clairement distinguer ce qui tient des jointures et ce qui tient des conditions de filtrage que l'on laisse à la clause WHERE, c'est une question de sémantique, cela donne une bien meilleure lisibilité à la requête.
Déplacement vers un forum plus approprié
Le sujet est déplacé de la section PHP vers la section Base de données
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
"Etre vrai, peu le peuvent."
Friedrich Nietzsche
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL
"Etre vrai, peu le peuvent."
Friedrich Nietzsche
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL