phpbar.de logo

Mailinglisten-Archive

AW: Volltextsuche mit MySQL
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: Volltextsuche mit MySQL



Aloha,

> ----------
> Von: 	Volker Jungbluth[SMTP:Info_(at)_ASP-Services.de]
> 
> In einer MySQL-Datenbank sind Felder, die mehrere Worte beinhalten (z.B.
> Kochrezeptbeschreibungen).
> 
> Auf derartige Felder laesst sich natuerlich kein Index setzen!
> 
Falls es Felder mit einer max. Laenge von 255 Zeichen
sind, kannst du auch auf Textfelder einen Index setzen.
Nur nuetzt er dir nichts, wenn du am Anfang deines Ver-
gleichsstrings ein % hast ... 
z.B where spalte1 like '%Kartoffel'
Dann wird der Index nicht benutzt.

> Eine Volltextsuchen nach (+Kartoffeln +Braten) dauert extrem lange - die
> Performance-Vorteile einer relationalen Datenbank kommen nicht zum
> Tragen.
> 
Du hast ja auch keine DB in der 3. Normalform. Sonst
haettest du nicht mehrere Suchbegriffe in EINER Spalte.
Du koenntest aber eine Suchtabelle basteln, in der alle
Woerter und zugehoerige IDs des Textes gespeichert wer-
den, z.B. mit 2 Spalten ID und wort
Dann haettest du :

ID     wort

1      Kartoffel
1      Braten
2      Bratwurst 

usw, je nachdem in welchem Text mit der angegebenen ID
das Wort auftaucht.

Dann kannst du einen Index auf die Woerter legen, und
die Abfrage sollte sich schneller machen lassen.
(mit nem Self-Join)

> Kennt jemand ein Tool/AddOn für MySQL, das für deratige Felder einen
> Volltextindex erstellt?
> 
Noch nie was davon gehoert.

> Bei einigen prof. Datenbanken soll so etwas mitgeliefert werden, z.B.
> bei ADABAS.
> 
Bei einigen kommerziellen DBs gibts die moeglichkeit,
solche Indexe anzulegen, frag mich aber nicht bei welchen...

> Oder hat jemand sonst irgendeine Lösung für so etwas parat?
> 
Siehe oben :)

Viele Gruesse, Mathias


---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive