Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ordnen Sie Forenbeiträge nach dem Zeitpunkt der letzten Antwort

Angesichts der Kommentare in der ursprünglichen Frage zwischen mir und Zirak würde ich die folgende Antwort vorschlagen.

Er hat Recht – den gesamten Baum zu durchlaufen, um das Datum des letzten Kommentars zu finden, kann eine Weile dauern, da es scheint, dass es keine Begrenzung für die Anzahl der Verschachtelungsebenen gibt, die im System stattfinden können. Ich bin mir bewusst, dass dies viele Wiederholungen von Daten sind, aber warum nicht so etwas wie main_post_id speichern , der sich auf den Wurzelknoten (Hauptpost) bezieht. Auf diese Weise können Sie ORDER BY max(time) WHERE main_post_id = 1 .

Wenn es sich um Forensoftware handelt (von der ich annehme, dass sie daher auch Dinge wie Paginierung von Threadlisten beinhalten kann), dann würde dies das Leben viel einfacher machen, da Sie die Sortierung auf Datenbankabfrageebene und nicht in PHP durchführen könnten.