D'accord, un autre problème intéressant sur Route 50.Quel est le moyen le plus efficace pour créer un système d'ampoule de forum (non lu)?
Nous avons voulu mettre en œuvre un véritable forum système lightbulb où les messages qui sont lus par un utilisateur (après le compte de l'utilisateur est créé) montrent que non lu jusqu'à ce que l'état est effacé ou jusqu'à ce que l'utilisateur les lise.
Nous avons pensé que le moyen le plus simple et le plus simple de le faire serait d'implémenter une table de messages non lus.
Les colonnes sont: user_id
, board_id
, thread_id
, post_id
, timestamp
et hidden
Cela fonctionne très bien et très rapidement pour voir quels conseils/fils/messages non lus (et les reliant) par utilisateur , mais il est très lent pour un utilisateur de poster sur le forum, même si une seule requête SQL est en cours d'exécution:
INSERT IGNORE INTO `forums_lightbulb` SELECT `id`,'x','x','x',UNIX_TIMESTAMP(),0 FROM `users`
Je suis sûr que cela est le résultat d'avoir 3065 des comptes d'utilisateurs. Comment puis-je accélérer ce processus? Je préférerais garder le système aussi en temps réel que possible.
Remarque importante: Veuillez limiter vos réponses à un environnement d'hébergement partagé sans budget supplémentaire. Nous sommes limités à PHP et MySQL 5.1.53-log
Si vous pouviez vous voulez utiliser des filtres bloom – amirouche