Es gibt viele Möglichkeiten, eine Katze zu häuten. Ebenso gibt es viele Möglichkeiten, die gleichen Ergebnisse zu erzielen, die Sie benötigen.
Einige Vorschläge für "verbessern" würde IMO sein -
1. diese Daten als vorab generierte HTML mit einem AJAX-Aufruf abgerufen werden.
Mit einem AJAX-Aufruf, sobald die Seite geladen ist, können Sie die HTML-Segmente Ihres Benutzeraktivitätsfeeds von Ihrem Server erstellen lassen. Dadurch wird Ihre Seite viel schneller geladen und Ihr Inhalt wird kurz darauf geladen.
Sie müssen nicht einmal HTML auf dem Server erstellen - Sie könnten auch ein JSON-Objekt vom AJAX-Aufruf zurückgeben und Ihren HTML-Code mit JavaScript erstellen.
2. Erstellen einer zwischengespeicherten statischen HTML-Datei des Benutzerfeeds, die einfach in das Markup eingefügt wird.
Sie könnten Ihren Server den gesamten HTML-Code generieren lassen, der für einen Benutzer in einem bestimmten Intervall benötigt wird - beispielsweise alle 30 Minuten - und dann diesen HTML-Code in eine Datei speichern, um in den vorhandenen HTML-Code aufgenommen zu werden. Sie können dies mit der include()
-Funktion von PHP tun.
Mit dieser Methode hat der Aktivitätsfeed eine Verzögerung beim Aktualisieren, daher ist es möglicherweise nicht die beste Option - aber wenn Sie das Intervall verringern - beispielsweise alle 5 Minuten, werden Sie eine Menge Anrufe an die DB.
Check out cron jobs - Sie könnten sie möglicherweise verwenden, um die Updates zu planen.
3. Platzieren Sie index
in das Feld user_id
in Ihrer Datenbank, da Sie damit nach Benutzern suchen.
Dies ist besonders wichtig, wenn Sie viele Einträge in Ihrer DB erwarten.Durch das Platzieren eines Indexes für die Felder, die Sie zum Durchsuchen einer Tabelle verwenden, wird die Leistung Ihrer Abfragen erheblich gesteigert.
Ich bin sicher, es gibt viele weitere Dinge, die hier vorgeschlagen werden können.
Die offensichtlichste Verbesserung ist _NOT_ einen Unix-Zeitstempel zu verwenden, sondern eine [richtige DATETIME- Spalte] (http://dev.mysql.com/doc/refman/5.0 /de/datetime.html). –
Sind Sie bisher auf Probleme gestoßen? – Lix
@Micheal Warum würden Sie das empfehlen? – Harry