Hier ist der Deal: Es gibt eine riesige Datenbank mit Themen (enthält eine Reihe von Nachrichten) und eine riesige Datenbank für Benutzer. Jedes Thema kann mit vielen Benutzern verknüpft sein (offensichtlich ist jeder Benutzer ein Link zu vielen Themen). Es gibt ein Feld in der Datenbank (Verknüpfung von Benutzern mit Themen), die eine Anzahl ungelesener Nachrichten enthält. Also versuche ich, einen schnellen Weg zu finden, diese Nummer für jedes Thema zu erhalten, das mit einem aktuellen Benutzer verknüpft ist. Es ist wichtig, dass sich diese Zahl ziemlich schnell ändert, daher wird die Methode, dieses Feld jedes Mal aus der Datenbank zu lesen, alles verlangsamen. Gibt es irgendwelche Themen im Internet (ich suche nach guten 50 Minuten und immer noch mit nichts) oder vielleicht nur Ihre Ratschläge, um es schneller zu machen (ich dachte daran, den separaten Tisch zu machen, aber es stellte sich auch als langsam heraus). Vielen Dank!Methoden, um die Anzahl der ungelesenen Nachrichten zu erhalten
0
A
Antwort
1
Caching! Sie müssen ungelesene Nachrichten und Themen im Benutzerdatensatz speichern. Sobald der Benutzer neue Nachrichten oder ein Thema an ihn angehängt bekommt, müssen Sie diese Dateien und dasselbe aktualisieren, wenn er sie liest. Sie können diese Daten in anderen Arten von Caches speichern (schnellere). Dies wird als De-Normalisierung bezeichnet.
Sie müssen auch richtige Tabellenindizes für diese Tabellen einrichten.
Verwandte Themen
- 1. Anzahl der ungelesenen SMS
- 2. Anzahl der ungelesenen Nachrichten über Google Mail-API abrufen
- 3. Anzahl der ungelesenen E-Mails in Gmail
- 4. Verwenden von muate, um die Anzahl der Ngramme zu erhalten
- 5. Quickblox Android: Gesamtzahl der ungelesenen Nachrichten Count Request
- 6. imap_search begrenzen die Anzahl der Nachrichten
- 7. So erhalten Sie Nachricht Anzahl der Mac-Nachrichten App in AppleScript * Not Mail *
- 8. Mysql Abfrage, um die Anzahl pro Monate zu erhalten
- 9. TSQL, um die nächste Anzahl von Datenzeilen zu erhalten?
- 10. Wie wird die Anzahl der ungelesenen Anrufe auf dem Android App-Symbol angezeigt?
- 11. $ _POST, um die dynamische Anzahl der zu aktualisierenden Felder zu erhalten
- 12. Der schnellste Weg, um die Anzahl der weißen Pixel in einem Binärbild mit OpenCV zu erhalten
- 13. Kompliment an GetCommandLine, um die Anzahl der Argumente zu ermitteln?
- 14. SQL, um X Anzahl der Konten von der DB zu bekommen, die Variable Anzahl der Zeilen
- 15. Anzahl der Blockparameter erhalten
- 16. Ungelesene Anzahl von Gmail-Nachrichten mit Python überprüfen
- 17. Wie kann ich die Anzahl der ungelesenen SMS in Android abfragen
- 18. Programatically erhalten die Anzahl der Windows-Benutzerkonten
- 19. Wie ermitteln Sie die Anzahl der Methoden der Anwendung?
- 20. Warum verwenden "dieses" Schlüsselwort, um superclass Methoden zu erhalten
- 21. Wie erhalten Sie die Anzahl der Nachrichten für Azure Topic Subscription?
- 22. SQL Server So erhalten Sie die Anzahl der Nachrichten unter jeder Kategorie
- 23. Angularjs: Anzahl der neuen Nachrichten anzeigen
- 24. So finden Sie die Anzahl der Methoden in der Klasse
- 25. Wie wird die Anzahl der Nachrichten pro halbe Stunde gezählt?
- 26. Werkzeuge, um eine Liste aller Unterprogramme (Methoden, Funktionen) zu erhalten
- 27. Schnellster Weg, um die Anzahl der Ziffern einer Zahl zu erhalten?
- 28. Wie Reflektion verwenden, um die Anzahl der Elemente in einer Liste zu erhalten
- 29. Abfrage, um die Anzahl der Datensätze bis zum vorherigen Tag zu erhalten
- 30. um die Anzahl der multi - wertigen Felder in solr zu erhalten
Können Sie uns mehr Details über die Struktur Ihrer Datenbank geben und wie Sie jetzt die ungelesenen Nachrichten abfragen? –
ok. Es gibt eine Tabellen USERS, THEMEN, Nachrichten, THEMEN_TO_USERS. Wenn sich der Benutzer anmeldet, erhält er die Liste seiner Themen mit einem Label für Themen mit ungelesenen Nachrichten (aus TOPICS_TO_USERS). Ich denke, es gibt keine Notwendigkeit, hier eine SELECT-Abfrage schreiben. und auf der Hauptseite möchte ich die Anzahl der ungelesenen/total_number Themen in den verschiedenen Kategorien von ihnen zeigen (wie 'Anzahl der ungelesenen, wo ich der Autor des Themas' etc .). – whn