Quelle est la meilleure façon de gérer les relations de déclencheurs plusieurs-à-plusieurs comme le problème "suivez cet utilisateur" sur Twitter.Problème de "suivre l'utilisateur" de type Twitter et de "regarder ce"
J'ai un problème similaire avec les utilisateurs "regarder" des discussions pour les réponses. Si 10 000 utilisateurs regardent un fil de discussion et que quelqu'un répond, quel est le meilleur moyen d'avertir les observateurs? Tout ce à quoi je peux penser est le suivant:
Lors de l'insertion, vérifiez la "watch table" [champs: user_id, thread_id] pour tout fil correspondant à l'ID de ce fil. C'est la liste des utilisateurs que je dois notifier. Insérez une ligne dans la "table de notification" [champs: user_id, message, addedon, etc] pour chaque utilisateur à notifier. Maintenant, je peux montrer à n'importe quel utilisateur leurs notifications via cette table.
Problème est, tout cela semble très, très cher. Surtout la partie des 10 000 inserts.
Il doit y avoir une meilleure façon de faire ... des idées?
Merde, écrivait la même idée :) –
Donc il n'y a pas de table "notifications" .. à la place je vérifie utilisateur par utilisateur? – Sam
Je suppose que vous souhaitez notifier un utilisateur sur un événement, par exemple lorsqu'il se connecte à une interface Web ou qu'il le demande via un service REST. Vous devez simplement vérifier toutes les entrées de surveillance de l'utilisateur spécifique lorsqu'elles doivent être notifiées. – joshperry