Harry (der echte): MySQL - Volltextsuche

Beitrag lesen

Moinsen

ALTER TABLE tabellenname ADD FULLTEXT (textpalte)
SELECT * FROM tabellenname WHERE MATCH textspalte AGAINST ('suchtext')

Da diser Teil jedesmal bei einer Suchabfrage durchlaufen werden muss, und ALTER TABLE bei größeren Datenbanken einige Zeit braucht, wollte ich wissen, ob es noch eine andere Möglichkeit gibt, oder man diese Möglichkeit noch optimieren kann.

Die obere Zeile ist soweit ich weiß nur ein einziges mal möglich. Dann legt MySQL für die Spalte einen Volltextindex an, auf den es dann bei jeder neuen Suche zugreifen kann, soll heißen: Du mußt den Index nur ein einziges mal anlegen. Dann nie mehr.

Eine andere Möglichkeit (ist aber sicher langsamer) wäre:

SELECT * FROM tabelle WHERE textspalte LIKE '%suchbegriff%'

Ciao,

Harry
 (ID = 42)
 (nur echt mit dem Smiley ;)