Encoder: 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.

Hast du auch benutzerabhängige Flags für "gelesen" und so? Dann kommst du nicht drum rum, jeder einzelnen Nachricht einen eigenen Eintrag zu geben.
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.