Wordlist Wordmatch mysql Probleme

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Gast

Beitrag von Gast »

Kannst du einen altuellen query-log einstellen bei der so eine langsame Query drin ist?
Chrischn25
Mitglied
Beiträge: 52
Registriert: 15.01.2003 21:55
Kontaktdaten:

Beitrag von Chrischn25 »

... ich lasse eben wieder mitloggen.

Stelle ich i.L.d. Abends ein!

Grüße,
Chrischn
Chrischn25
Mitglied
Beiträge: 52
Registriert: 15.01.2003 21:55
Kontaktdaten:

Beitrag von Chrischn25 »

Hier ist es:

http://www.klein-putz.de/log/slow-query.log

Allerdings hält es sich nach dem Auskommentieren der remove_common echt in Grenzen. Läuft das Log aber mehr als 4 oder 5 Tage, ist es auch schon wieder knapp 1 MB groß...

Grüße,
Chrischn
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

Beitrag von R. U. Serious »

Du kannst in der search.php natürlich noch die Zeile

Code: Alles auswählen

									AND w.word_common <> 1 
löschen, da dies ja nun sowieso nicht mehr genutzt wird. Die Verbesserung bewegt sich aber im hundertstel-Bereich, wird also nicht viel bringen.
Wär mal interessant zu gucken ob sich noch andere Queries dazu gesellen, oder ob es nur dabei bleibt.

Denn die Qeury kann man sonst nicht weiter optimieren. Es sind indices auf den genutzten Feldern, und die werden bei der Abfrage auch benutzt. Ich würde da allenfalls noch gucken ob man bei der Optimierung von mysql noch was drehen kann ( evtl. zugewiesener Speicher?), denn die Queries machen bei den anderen mir bekannten Boards nun keine grossen Schwierigkeiten (da sollten erstmal andere Flaschenhälse kommen).
modellskipper
Mitglied
Beiträge: 14
Registriert: 31.03.2003 15:41
Wohnort: Rostock

Beitrag von modellskipper »

Hallo Leute,

In Bezug auf die Suchtabellen, habe ich festgestellt, dass es in der search_wordmatch-Tabelle zu Doppeleinträgen kommt. Selbst nach einer gestrigen Durchsicht und Entfernung von Doppeleinträgen sind heute schon wieder 120 von über 420.000 Einträgen doppelt gespeichert.

Nach dem Durchlauf des Database Maintenance kommt es zur Meldung:

Code: Alles auswählen

Checking for unnecessary search words

Nothing to do :-)
Ich habe "immer noch" Version 2.0.4 installiert, so frei nach Murphy "don't tuch" :wink:

Macht es dann nicht Sinn von vorherein einen eindeutigen Schlüssel über die Felder post_id und word_id zu setzen?

Kann eigentlich was passieren, wenn ich die doppelten rausfische und ich nachträglich den Index setze?

Gleich in diesem Zusammenhang mit Vermeidung von unnötigen Datenaufkommen mal eine Frage an die Spezies. Ich programmiere schon seit einigen Jahren auf Datenbank, z.B. Access und MySql und deshalb drängt sich mir die Frage auf, warum die Tabelle posts und posts_text getrennt gespeichert werden. Bei mir haben beide die gleiche Anzahl von Datensätzen?
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

Beitrag von R. U. Serious »

Eigentlich sollten keine doppelten drin sein. Vielleicht hast du einen Bug drin, dass beim editieren die alten Einträge nicht entfernt werden? Hast du Mods eingebaut?

Oder aber die Wörter kommen mehrfach im Beitrag vor? Ich weiss nicht wie das genaue Verhalten von phpbb da ist, aber ich vermute mal die doppelten Worte in einem Beitrag werden nicht rausgefischt.


Der Split der posts_table und posts_text_teable hat performance-Gründe. Weil die posts_table klein bleibt und auf die Daten dadrin häufiger zugegriffen werden muß, als auf die posts_text-Daten. Es lohnt sich trotz des Overheads für Joins und mehr inserts. AFAIK haben sie selber an einer Stelle mal gesagt, dass sie beides getestet hätten, und es so eben schneller war.
modellskipper
Mitglied
Beiträge: 14
Registriert: 31.03.2003 15:41
Wohnort: Rostock

Beitrag von modellskipper »

R. U. Serious hat geschrieben:Hast du Mods eingebaut?
eigentlich nur Map-Mod.
doppelten Worte in einem Beitrag werden nicht rausgefischt
Wäre die einzige logische Erklärung. Was ist dann bei Mammutpostings ??

Aber die Frage jetzt rein retorisch :wink:
Split der posts_table und posts_text_teable hat performance-Gründe
Danke
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

Beitrag von R. U. Serious »

Ich hab das nochmal getestet. Folgende Observationen:

- Multiple Worte in einem Beitrag werden nur einmal in die match-table eingetragen

- idR kommt jede Kombination nur einmal vor.

- Dort wo es doppelte Kombinationen gibt, bruacht man den Post nur zum editieren öffnen und wieder speichern, dann sind die doppelten einträge weg.


Daher schliesse ich, dass die doppelten Einträge im mathc-table durch unregelmässigen im db-betrieb, beim gleichzeitigen Editieren o.ä. auftreten. Bei unseren ca. 2 Millionen Einträgen war das häufigste Vorkommen von einer einzigen Kombination 4 mal, und das beschränkte sich auf genau 2 Beiträge ( aus ca. 60.000), Bei allen übrigen doppelten war es 2 mal (das waren schon eine ganze Menge mehr....)

Grob überschlagen könnten wir durch eliminieren von doppelten Einträgen, ca. 100.000 (von ca. 2 Millionen) Einträge löschen, also 0,5%
Das war mir dann weiteren Aufwand nicht wert... ;)
Benutzeravatar
Shadowman
Mitglied
Beiträge: 170
Registriert: 16.12.2003 19:01
Wohnort: Vaterstetten

Beitrag von Shadowman »

ich hab mal ne frage, wieso leert ihr denn diese tabelle nicht einmal im monat, oder nur die hälfte, denn 300 mb nur für die blöde search tabelle is ne menge, das ist das, was ich zur zeit zur verfügung habe, zwar werde ich auf 1gb aufrüsten, doch das is mir einfach zu viel, es wäre praktisch wenn man alle 4 wocehn die hälfte der tabelle entleert, so wird sie nicht so wahnsinnig gross.
Proud Admin & Webmaster of http://www.broxx-com.de
R. U. Serious
Mitglied
Beiträge: 153
Registriert: 11.10.2003 12:33
Kontaktdaten:

Beitrag von R. U. Serious »

Shadowman hat geschrieben:ich hab mal ne frage, wieso leert ihr denn diese tabelle nicht einmal im monat,
Weil ohne die Tabellen die Suche nicht funktioniert. Wenn man ein Board hat was hauptsächlich durch Small-Talk und schnelles posten lebt, dann ist das zwar eine Prima-Lösung, aber für viele Boards die sich bestimmten Sachthemen zuwenden, wäre es fatal wenn die Suche nicht mehr ginge:
- erstens wäre alles gute/wertvolle geschriebene "Verloren"
- zweitens gäbe es nichts worauf man die Newbies hinweisen könnte :D *SCNR*

Im Einzelfall gibt es also sicherlich Leute die diese Tabellen auch löschen. ;)
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“