Schemat powinien działać dobrze, o ile nie ma zbyt wielu odbiorców tej samej wiadomości. Nie wiem, jak można go znacznie zmniejszyć lub uczynić bardziej wydajnym.
Jedyny problem z wydajnością, jaki widzę, to to, że jeśli chcesz rozgłaszać, to znaczy wysłać tę samą wiadomość do dużej grupy lub, powiedzmy, do każdego użytkownika w systemie. Wysyłanie takiej wiadomości będzie bardzo powolne (byłem tam, zrobione). W takim przypadku leniwie śledziłbym status takich globalnych wiadomości, to znaczy tworzyłbym wiersz statusu dla pojedynczego użytkownika dopiero po otwarciu wiadomości. Ale jeśli nie planujesz takiej funkcji, powiedziałbym, że na razie zignoruj ten problem.