J'écris une application qui affiche des messages, un peu comme un système de forum simple. Les messages peuvent être marqués comme urgents par les utilisateurs lorsqu'ils soumettent la publication, mais un modérateur doit approuver le statut "urgent". Une publication sera toujours affichée même si elle n'a pas été approuvée comme étant urgente, mais elle apparaîtra comme une publication normale jusqu'à ce que le modérateur approuve l'état d'urgence, auquel cas le post recevra un traitement spécial.meilleure approche mysql?
J'ai examiné deux approches pour cela:
1) ont deux drapeaux dans les tableaux de messages. Un pour dire que l'utilisateur a demandé un statut urgent, et un second pour indiquer si l'administrateur a approuvé le statut d'urgence. Seulement si les deux sont vraies sera le poste être montrer comme étant urgent.
2) avoir deux tables. Une demande table en attente qui contient toutes les approbations urgentes en attente. Une fois que l'administrateur a approuvé le statut d'urgence, je supprime la demande de la table en attente et met à jour la table des messages afin que le champ urgent devienne vrai pour ce message.
Je ne suis pas sûr si l'une ou l'autre approche est meilleure que l'autre.
La première solution signifie que je n'ai qu'une seule table à m'inquiéter, mais elle se termine avec plus de champs. Je ne sais pas si cela rend l'interrogation plus lente ou non, étant donné que la table des messages sera la table la plus demandée dans l'application.
La deuxième solution maintient la table des postes plus maigre mais annonce une autre table à traiter (pas que ce soit dur). Je penche pour la deuxième solution, mais je me demande si je ne suis pas en train d'analyser les hing et de rendre ma vie plus compliquée qu'elle ne devrait l'être. Conseil?
Quelle bonne idée. La table posts stocke déjà le drapeau "urgent", mais de cette façon je peux plier la demande en attente dans le même champ. Merci. – nedlud
Eh bien c'est exactement ce que j'ai suggéré: D semble être un peu mal compris .. Dans ma solution la 2ème table contient ce qu'il veut dire - c'est ce que vous avez écrit avec 0 = normla etc. –
off: What a nick schizophrénique est NedLud sur un site lié à l'informatique! =) – Zed