Andy: Interne Mitteilung an mehrere Benutzer in einem Portal

Beitrag lesen

Ich nehme an, dass das ja schon mitunter dann sehr zu Lasten der Performance gehen könnte
Glaub ich weniger, je nachdem wie oft solche Nachrichten gibt.

Das kann schon sehr viel werden. 1000 ca. derzeit am Tag. Jede mit einer variablen Anzahl von Empfängern und somit halt dann jeweils auch Einträgen in der DB-Tabelle.

Hast du auch benutzerabhängige Flags für "gelesen" und so?

Ja, habe ich.

Dann kommst du nicht drum rum, jeder einzelnen Nachricht einen eigenen Eintrag zu geben.

Schade, aber ich freunde mich damit an. Nur, muss ich für jede Zeile auch eine einzelne QUERY an die Datenbank senden? Kann man das nicht irgendwie optimieren? Also in etwa ein Query wie "INSERT ... daten, andereDaten, text, (Benutzer1, Benutzer5, Benutzer300, Benutzer...) INTO.. " usw. für aber tausend (bis eben auf die BenutzerIDs des Empfängers) gleiche Zeilen?
(Das Beispiel sollte nun nur veranschaulichend wirken und ist natürlich von der Syntax her Blödsinn. Ich wollte nur meinen Gedanken verdeutlichen.)

Aber du könntest das in einer zweiten Tabelle halten, die dann nur auf einen einzigen ausgeschriebenen Eintrag referenziert. Damit hättest du den Text nur einmal statt 5000 mal und halt weiterhin pro Nachricht einen Eintrag (ohne den Text) in einer Nachrichtentabelle.

Das spart mir zwar dann nicht die einzelnen Einträge, aber zumindest einigen Speicherplatz auf Dauer. Das hatte ich bisher noch garnicht berücksichtigt - danke!