[Frage] Volltextsuche versus LIKE

Hallo!

Ich habe eine Suche, wo auch alles passt. Die Suchwörter werden aufgesplittet und dann eben per LIKE Befehl in der Datenbank abgefragt (derzeit rund 2000 Titel (Tendenz steigend), bei VARCHAR).

Jetzt habe ich hier im Forum schon öfters gelesen das man lieber eine Volltextsuche machen sollte, warum? Wo liegt der Vorteil gegebenüber dem normalen LIKE Befehl in einen Query? Ist die Volltextsuche schneller?

Bitte keinen Link zum MYSQL Handbuch, das Kapitel habe ich schon gelesen, mich würde mehr die Mitglieder Erfahrung interessieren... danke.
 
Bei einer Volltextsuche wird ein Index eingesetzt. Dieser sortiert die zu durchsuchenden Spalten durch, deswegen muss er nicht immer alle Felder durchgehen. Wenn du z.B. eine Tabelle mit dem Alphabet hast und nach C suchst durchsucht er mit like trotzdem alle 26 Datensätze, bei dem Index weißt er schon nach dem 3 Datensatz das er nicht weiter zu suchen brauch, weil der 4 Datensatz schon wieder zuweit ist. Dadurch ergibt sich meißt ein Geschwindikeitsvorteil.

€: ein sehr gutes Tutorials ist auch folgendes: http://www.tutorials.de/forum/sql-tutorials/178089-texte-suchen-und-finden-sql.html
 
Hallo!

Noch eine kurze Frage, ich habe mir das ganze jetzt angesehen, nur wie bekomme ich es hin das mir die Volltextsuche nur die Anfangsbuchstaben anzeigt, also angenommen er soll alle Titel die mit "A" anfangen anzeigen. So wie es jetzt ist klappt es auch, nur er zeigt auch die Namen an die beim zweiten oder dritten Wort mit "A" anfangen, das soll natürlich nicht sein. Mein früherer LIKE Befehl sah so aus und funktionierte auch:

PHP:
$query = "a.name REGEXP BINARY '^[A]";

PHP:
$result = mysql_query ("SELECT name FROM t_testbnamen WHERE MATCH (name) AGAINST ('+a*' IN BOOLEAN MODE) ORDER BY name");

Kann mir da jemand helfen?
 

Neue Beiträge

Zurück