
Website meiner Frau Martina Thiele:
www.tagesmutter- luebbecke.de
Zur Webseite vom Ferienhaus auf Usedom von meinem Bruder Christian Thiele:
www.am-jungfernberg.de
Gerade auf größeren Websites kommt es immer wieder vor, dass die Indexsuche den Server so stark belastet, dass dieser zusammenbricht. Aber auch bei kleineren Seiten kann eine Suchabfrage unnötig lange dauern. Grund ist meistens eine riesig große Tabelle mit dem Namen "index_rel"
Frage ist nun: Warum wird diese Tabelle so groß (Teilweise mehrere Millionen Einträge)?
Vor allem 2 Tabellenfelder sind hierfür verantwortlich: phash und wid
phash ist der Hash-Wert, der sich aus Werten wie Seiten-ID (&id=), typeNum (&type=), Spach-ID (&L=), Mount-Point (&MP), FE-Gruppen und weiteren GET-Parametern zusammensetzt. Die weiteren Parameter erzeugen dann bei einer gecachten Content-Ausgabe noch einen cHash-Wert, der wiederum vom Encryption-Key abhängig ist.
wid ist eine ID für die Verknüpfung mit der Tabelle "index_words". Pro Wort gibt es hier einen Eintrag. Dabei ist ein Wort mit Satzzeichen am Ende ein anderes Wort als ein alleinstehendes Wort. So könnte z.B. das Wort "Beispiel" sowohl als "Beispiel" als auch als "Beispiel." oder "Beispiel;" in der Datenbank stehen.
Pro Wort und phash Wert wird nun eine Zeile in die Tabelle index_rel geschrieben. Hat also eine Seite z.B. 100 unterschiedliche Wörter wären in der Tabelle "index_rel" schon 100 Zeilen. Ändert sich nur ein Parameter, so dass der pHash-Wert sich ändert, werden pro Änderung wieder 100 Zeilen zur Tabelle hinzugefügt.
Das Einzige, dass jetzt helfen kann, ist eine Reduzierung der GET-Parameter, die zu einem neuen pHash-Wert führen und eine Beschränkung auf weniger indizierte Wörter auf einer Seite, vor allem wenn die Wörter sich auf der Seite regelmässig ändern (z.B. LIST- & LATEST-Ansicht bei tt_news).
Hier ein paar Beispiele:
deaktivieren. Anstatt dem dynamisch generierten Zurück-Button in der SINGLE-Ansicht könnte dann ein Zurück-Link mit JavaScript gemacht werden: