![]() |
Wieso werden die Postzahlen in phpBB nicht errechnet
Hallo!
Wieso werden in phpBB eigentlich die Postzahlen hochgezählt und nicht per
SQL-Code:
ermittelt? Ist das ein performance Grund oder ein Organisatorischer Grund?
SELECT COUNT(post_id)
FROM phpbb_posts WHERE poster_id = 6243; Ich frage deswegen, weil ich in einer 4images Galerie die Kommentarzahl ermitteln will, und das mit dieser Zeile natürlich wesentlich einfacher ist. ;) Grüße Faux |
Re: Wieso werden die Postzahlen in phpBB nicht errechnet
Ja, das ist einer der Fälle, in denen man Redundanz in Kauf nimmt und dafür einiges an Performance gewinnt. Es wäre Wahnsinn, jedesmal die Anzahl an Beiträgen zu ermitteln. Der Aufwand, diesen Counter einmalig nach dem Schreiben eines Beitrages zu pflegen, ist dratisch geringer.
Im Prinzip ist es eine Frage des Datenbank-Designs. Im Allgemeinen versucht man, Redundanzen zu vermeiden. Weniger wegen der Platz-Ersparnis, sondern mehr, damit man keine Informationen doppelt oder gar dreifach pflegen muss. In ausgewählten Situationen und wenn man sich darüber im Klaren ist, was man tut, kann man sich aus Gründen der Performance (siehe oben) dann doch für redundante Daten entscheiden und ist kann dann auch völlig legitim sein. |
Re: Wieso werden die Postzahlen in phpBB nicht errechnet
Dachte ich mir fast. :( Hm... Ab wievielen Posts / User ist hier ein merklicher Unterschied? Hängt das von der Gesamtzahl der Postst / User zusammen, oder mit der Zahl der zu berechnenden? Also ist eine Aggregatfunktion langsamer, wenn die Ergebnismenge groß ist, oder wenn die Gesamtmenge der Datensätze der entsprechenden Tabelle sehr groß ist?
Grüße Faux |
Re: Wieso werden die Postzahlen in phpBB nicht errechnet
Es gibt noch einen zweiten Grund:
Das phpBB unterstuetzt ein Pruning, also ein Loeschen von Themen, die in einer festgelegten Zeitspanne keine Antworten mehr erhalten haben. Beim Pruning wird der Beitragszaehler des Benutzers aber nicht veraendert, aus welchen Gruenden auch immer. Einen Geschwindigkeitsunterschied beim Berechnen des Post-Counts merkt man immer, so richtig merken wirst du es ab (schaetzungsweie) ca. 5000 Benutzer und 20000 Beitraegen, dann wird es langsamer laufen als sonst, vor allem weil phpBB beim Anzeigen von Beitraegen jedes Mal die Details des Posters neu berechnet; dies wuerde auch auf den Beitragszaehler zutreffen, welcher bei manchen Themen fuer ein paar Benutzer auch ein paar Mal berechnet werden wuerde. Das phpBB ist in der Ansicht etwas...unoptimiert ;) Greetz alcaeus |
Re: Wieso werden die Postzahlen in phpBB nicht errechnet
Zitat:
Damit es die Leute, die sich einen MOD coden wollen, dass in manchen Foren nicht gezählt wird, leichter haben. :mrgreen: Zitat:
Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz