2016-12-20 1 views
0

Wir implementieren einen Chat-Dienst, und ich möchte etwas über das Design der Tabelle wissen. Unser Dienst verwendet MySQL, und unsere DB hat 2 Tabellen, Threads und Nachrichten. Die Thread-Tabelle speichert alle Chat-Threads und die Nachrichten-Tabelle speichert alle Nachrichten. Ein Chat-Thread kann mehrere Nachrichten enthalten, während eine Nachricht nur zu einem Thread gehört. Jede Nachricht wird durch eine Spalte in der Nachrichtentabelle namens messageId identifiziert.Leistungsaspekte für die Tabellengestaltung des Chat-Dienstes

Wir müssen die messageId der letzten Nachricht jedes Threads von Zeit zu Zeit in unserem Service erhalten. Ich kann 2 Optionen sehen:

Welche Option sollte ich nehmen, und warum?

Antwort

0

Ich würde vorschlagen, für Option 2 zu gehen, unten sind die Gründe.

  1. Sie sagten, dass Sie die letzte Nachrichten-ID von Zeit zu Zeit brauchen, was nicht so häufig bedeutet. Eine Abfrage von Zeit zu Zeit ist weniger intensiv als die Durchführung eines Aktualisierungsvorgangs für jede Einfügung.

  2. Sie können Ihre Abfrage weiter verfeinern, indem Sie Indizes für die Nachrichtentabelle erstellen.

Verwandte Themen