J'essaie de créer un système de messagerie de boîte de réception en utilisant deux tables, une appelée Message_Topic, et Message. Message_Topic contient tous les sujets créés et la table des messages contient la conversation des messages dans chaque rubrique.MySQL Messaging System Slow Query
Je suis bloqué à la sélection de tous les sujets.
Ma requête se présente comme suit:
SELECT `umt.intTopicId DE uo, utilisateur u, User_Message_Topic UMT
OÙ umt.intCreatorId = uo.intUserId ET umt.intUserToId = u.intUserId ET ((umt.intCreatorId = '1' et umt.blnReplied) OR umt.intUserToId = '1') ET blnInboxHide = false
ORDER BY dtmLastSent DESC LIMIT 0, 10`
Fondamentalement, je dois sélectionner tous les messages qui ont été envoyés à l'utilisateur "intUserToId" qui est moi OU envoyé par moi et qui a été répondu à.
Cette requête dure 0,85s, ce qui est beaucoup trop lent.
Des indices sur la façon de résoudre ce problème?
Merci d'avance.
Armin
même vitesse exacte ... le problème est le OU. toutes les colonnes nécessaires sont indexées ... le OR est le problème. Je viens de penser à quelque chose, faire une table de référence croisée avec les utilisateurs concernés et le sujet :) .. pourrait fonctionner – Armin