Guten Tag
Ich habe eine MySQL-Tabelle mit 130'000 Datensätzen, die ich gerne durchsuchen möchte. Die Tabelle besteht aus "nur" zwei Feldern (id -> int(11) und besch -> text()). Das Feld "besch" enthält im Durchschnitt 5000 Zeichen.
Wenn ich nun die einfach Abfrage "SELECT * FROM tabelle WHERE besch LIKE '%suchbegriff%' LIMIT 0,30" ausführe, dauert es 13 Sekunden, bis ich das Ergebnis habe. Indexes sind gesetzt, nützen aber bei einer "LIKE"-Abfrage ja leider nichts.
Wie kann ich das optimieren? Wenn ich mir da die Suchzeiten von Google oder ebay anschaue, die ja das 1'000-fache an Datensätzen haben, und innerhalb von einigen hundersteln Sekunden ein Ergebnis liefern (das kann ja wohl nicht nur an der Serverleistung liegen!?).
Besten Dank
Ich habe eine MySQL-Tabelle mit 130'000 Datensätzen, die ich gerne durchsuchen möchte. Die Tabelle besteht aus "nur" zwei Feldern (id -> int(11) und besch -> text()). Das Feld "besch" enthält im Durchschnitt 5000 Zeichen.
Wenn ich nun die einfach Abfrage "SELECT * FROM tabelle WHERE besch LIKE '%suchbegriff%' LIMIT 0,30" ausführe, dauert es 13 Sekunden, bis ich das Ergebnis habe. Indexes sind gesetzt, nützen aber bei einer "LIKE"-Abfrage ja leider nichts.
Wie kann ich das optimieren? Wenn ich mir da die Suchzeiten von Google oder ebay anschaue, die ja das 1'000-fache an Datensätzen haben, und innerhalb von einigen hundersteln Sekunden ein Ergebnis liefern (das kann ja wohl nicht nur an der Serverleistung liegen!?).
Besten Dank