Je suis en train de créer une sorte de "flux d'activité" en utilisant PHP et MySQL.
J'ai une table pour le flux qui stocke simplement le type d'activité et l'horodatage. J'ai ensuite besoin de consulter les données réelles de l'activité qui peuvent être trouvées dans différentes tables (en fonction du type d'activité). Le flux doit être capable de gérer des centaines d'utilisateurs et j'ai donc besoin qu'il soit performant. Les options que j'ai obtenues :
- Récupérez la table des flux - faites une boucle en PHP avec une sorte de commutateur, puis appelez SQL pour les données d'activité appropriées (pour chaque activité). (Lent)
- Faites une grande phrase SQL avec quelques jointures prenant toutes les données d'activité en une seule requête. Toujours en faisant la jointure en PHP mais sans avoir à appeler SQL à nouveau. (Est-ce lent pour les grandes tables ?)
- Utilisation d'une sorte de vues avec MySQL - Je n'ai jamais fait cela auparavant.
- Utilisation de plusieurs appels SQL pour obtenir toutes les données d'activité, les stocker dans des tableaux PHP et, à partir de là, effectuer la commutation.
Ai-je d'autres options ? Quelle serait la meilleure approche en termes de performances ?