Suchfunkt.: "native" - "mysql" / Untersc

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
uwe.ha
Mitglied
Beiträge: 834
Registriert: 18.05.2001 02:00

Suchfunkt.: "native" - "mysql" / Untersc

Beitrag von uwe.ha »

Hallo zusammen,

es geht um die beiden Suchfunktionen
- Fulltext native
- Fulltext mysql
die ich im ACP auswählen kann.

Wie unter http://www.phpbb.de/viewtopic.php?t=156295 (und weiteren) beschrieben, sucht "native" in der (großen) Tabelle _search_*, und "mysql" sucht direkt in der Tabelle "_posts". Das ist soweit klar, aber:
Was ist "besser"; schneller, belastet den Server weniger, bzw. was sind die wesentlichen Vor- / Nachteile?

Bisher dachte ich, dass "native" schneller und weniger serverbelastend ist, allerdings hat meine Tabelle _posts 80.000 Einträge und ist NUR 64 MB groß, aber _search_wordlist hat 2,7 Mio (!!) Einträge und ist mit 90 MB sogar GRÖSSER, als _posts.

Habe gerade mal den "mysql"-Index erstellt. Die Tabelle _posts ist dadurch (wegen zusätzlicher Indexfelder) um rund 100 MB auf 163 MB gewachsen. Auch wenn ich nun die "native"-Tabelle _search* mit rund 90 MB lösche, habe ich also KEINEN Speicherplatzgewinn.

PROBLEM + FRAGE: Und ich sehe gerade, dass die "native"-Suche Wörter aus 3 Buchstaben findet (genau wie im ACP eingestellt), die "mysql"-Suche aber NICHT :( ... das wäre - zumindest für mich - ein wesentlicher Vorteil von "native" ... oder kann man irgendwo einstellen, dass "mysql" auch Wörter ab 3 Zeichen findet?
Uwe
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Von der Last etc. sollte die MySQL-Suche effizienter sein - denn per Datenbank geht so was besser als manuell in PHP programmiert. Wobei es bei Indizes durchaus sein kann, dass du eine bessere Last durch mehr Speicherplatz erkaufst.
Vorteil der Native-Methode ist sicherlich ihre Unabhängigkeit von der Datenbank und ihre Konfigurierbarkeit. Zwar kannst du auch die MySQL-Suche anpassen, dies geht aber nur auf Anwendungs-Ebene: http://dev.mysql.com/doc/refman/5.0/en/ ... uning.html. Wenn du keinen eigenen Server hast, wirst du hier also keine Änderungen vornehmen können.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
uwe.ha
Mitglied
Beiträge: 834
Registriert: 18.05.2001 02:00

Beitrag von uwe.ha »

Hallo Philipp,

Danke für die Erklärung!

Kann man sagen ab welchen Bedingungen (Größe des Forums, Anzahl der Postes, Größe der DB, o.ä.) die eine oder andere Variante eindeutig zu bevorzugen ist (eigenen anpassbaren Server hätte ich)? ... oder sind die (Performance-)Unterschiede so gering, dass es eher "Ansichtssache" ist?
Uwe
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Ich möchte diese Frage noch mal aufgreifen.

Welche Variante würdet ihr bei einem Forum wie phpbb.de wählen?

Habe jetzt sowohl einige Themen auf phpbb.de und phpbb.com gelesen bin aber immer noch nicht schlauer.
=>mysql wird nicht von Version unterstützt
=>native benutzt die riesigen such tabellen
=>mysql benötigt diese nicht
=>mysql erstellt einen index

Die Größe der Tabellen ist mir recht egal. Ich suche die schnellste Lösung für ein Forum wie diesem hier.
Auf phpbb.com hat jemand geschrieben, dass die mysql-Suche bei größeren Foren möglicherweise ungünstig wird. Dies hat mich etwas verwirrt.
Benutzeravatar
MartectX
Ehemaliger Übersetzer
Beiträge: 648
Registriert: 10.05.2008 17:08
Wohnort: Marienplatz

Beitrag von MartectX »

Dann weise ich an dieser Stelle mal noch hierauf hin: http://code.phpbb.com/projects/show/11
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Hallo Leute,

ich habe einmal den Index als fulltext native erstellen lassen. Irgendwie hatte ich aber das Gefühl, dass einige Beiträge fehlten. Indizierungsgeschwindigkeit lag bei 40 Beiträge in der Sekunde.

Habe dann den Index gelöscht und dann nochmal neu erstellen lassen. Jetzt funktioniert das ganze aber nicht mehr. Index ist immer leer. Geschwindigkeit angeblich 22000 Beiträge in der Sekunde...

Hatte jemand schon mal das Problem?
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

So nach endlosen Stunden wurde der Suchindex nun doch erstellt.
Allerdings ist mir aufgefallen, dass die Suche ziemlich lange braucht. Sehr lange sogar. 30 Sekunden bei beliebten Wörtern sind keine Seltenheit.
Insgesamt sind 600k Wörter im Such-Index enthalten.

Meint ihr mit fulltext mysql wäre es schneller?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Ich selbst bevorzuge die Fulltext MySQL Suche...
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Dr.Death hat geschrieben:Ich selbst bevorzuge die Fulltext MySQL Suche...
Ok ...würdest Du mir auch noch etwas zur Beitragsanzahl und/oder Anzahl Suchwörter sagen damit ich das vergleichen kann?
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

MartectX hat geschrieben:Dann weise ich an dieser Stelle mal noch hierauf hin: http://code.phpbb.com/projects/show/11
Gibt es eine Anleitung wie man es mit phpBB3 kombiniert?
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“