stoe288
Goto Top

MATCH AGAINST vs LIKE

Performance Unterschiede von MATCH AGAINST zu LIKE

Hallo erst mal,

ich komme gleich mal mit einer ganzen Reihe Fragen an und hoffe, dass Ihr mir dabei behilflich sein könnt.

Ausgangssituation
Es soll eine Datenbank Tabelle tabelle mit 10.000+ Einträgen zu Grunde gelegt werden. Darin enthalten sind neben einer auto_increment Spalte die beiden Spalten titel VARCHAR(60) und beschreibung TEXT.

Suche
Nun möchte ich mit einer Suche nach suchbegriff1 und suchbegriff2, ... die Tabelle durchsuchen.

MATCH AGAINST
Der MATCH AGAINST Befehl würde dann wie folgt aussehen.
SELECT * FROM tabelle WHERE MATCH(titel, beschreibung) AGAINST('suchbegriff1 ...')>0.001  
Problem hierbei ist, dass auch Wörter <4 gefunden werden sollen. Allerdings sollte der Index dadurch nicht aufgebläht werden, also indem der Server dementsprechend eingestellt wird.

LIKE
Der LIKE Befehl würde in etwa so aussehen:
SELECT * FROM tabelle WHERE titel LIKE "suchbegriff1 ...'"  

Suche mit LIKE über mehrere Spalten
Nun würde mich zunächst interessieren, ob und vor allem wie es mir möglich ist mit einer LIKE Suche die Spalten titel und beschreibung zu durchsuchen, ohne dass ich auf einen Code wie
SELECT * FROM tabelle WHERE titel LIKE "suchbegriff1 ..."   
AND beschreibung LIKE "suchbegriff1 ..."  
zurückgreifen muss.

Performance
Gibt es eine Möglichkeit festzustellen, welche der beiden Suchen (MATCH AGAINST oder LIKE) effizienter ist?
Oder gibt es vielleicht sogar irgendwo eine Gegenüberstellung der beiden Suchmuster (Link, Buch, etc.), die ich allerdings noch nicht gefunden habe?

Für Antworten bedanke ich mich schon mal im Voraus

Grüße
stö

Content-Key: 65161

Url: https://administrator.de/contentid/65161

Printed on: April 19, 2024 at 03:04 o'clock