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.
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:
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
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ö
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
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 ..."
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ö
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 65161
Url: https://administrator.de/forum/match-against-vs-like-65161.html
Ausgedruckt am: 29.04.2025 um 15:04 Uhr