Wer bloggt hier?

Foto Bettina Ramm

Bettina Ramm, Die WEB-Architektin, programmiert Websites und Webanwendungen. Ihr besonderes Interesse gilt Webstandards, sicheren Websites und der Web-Performance.

Kontakt

Xing Button

Twitter

Tel. +49 (0)3338 759775

Impressum

Newsletter abonnieren

Es war lange überfällig, und nun ist es endlich vollbracht: Die Kategorie-Struktur auf dem Barnimer Familienportal wurde auf Nested Sets umgestellt. Diese "kleine" Strukturänderung bringt gleich mehrere Vorteile: Das Portal wird wesentlich performanter, also schneller geladen und auch um einiges leichter wartbar.

Nested Sets ist eine Modell, mit dem sich Baumstrukturen in Datenbanken abbilden lassen. Dabei werden alle Datensätze mit einem links- und einem rechts-Wert versehen, die wiederum die links- und rechts-Werte ihrer Kinder umschließen. Die besondere Stärke liegt in der Performance bei der Abfrage, während Änderungen an der Struktur etwas mehr Rechenleistung erfordern. Ich möchte an dieser Stelle keine Einführung in Nested Sets geben, da das andere bereits sehr ausführlich und anschaulich getan haben:

Arne Klempert: Jede Menge Bäume
Daniel T. Gorski: Das 'Nested Sets' Modell - Bäume mit SQL
Christoph Reeg: Bäume in SQL
Reduxo: Bäume verschieben in Nested Sets
Und ein sehr hilfreicher Userbeitrag im Serverknecht Forum: Verschieben von Nodes in Nested Sets

Die neue Navigation unterscheidet sich äußerlich nicht von der alten. Für die Umstellung habe ich eine Funktion programmiert, die die Kategorien in die richtige Reihenfolge bringt und automatisch mit den richtigen Rechts- und Links-Nummern versieht. Zur einfachen Ermittlung der direkten Kinder habe ich die parent_id, mit der vorher ausschließlich gearbeitet wurde, beibehalten, aber alle anderen Abfragen sind mit lft und rgt wesentlich einfacher und schneller geworden, z. B. Ermittlung der Vorfahren einer Kategorie mit Reihenfolge (ohne Rekursion) und Ermittlung aller Kinder in einem einzigen Statement (ohne Rekursion!).

Die neue Navigation kann bewundert werden, wenn die neue Version des Familienportals online geht - voraussichtlich Ende September.


Kommentare
Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA