ChrisB: MySQL: sehr lange Query kürzen, optimieren?

Beitrag lesen

Hi,

Ok, kleiner Nachtrag: zumindest die MySQL Tabellenfelder die relevant sind stehen auf Fulltext. Wenn ich das richtig verstehe muss aber die SQL noch entsprechend angepasst werden?

Wenn du mittels eines FULLTEXT-Index suchen willst, musst du MATCH(namen_indizierter_spalten) AGAINST(suchbegriff) fuer die Vergleiche verwenden - siehe MySQL Manual, 11.8. Full-Text Search Functions.

Aber ich bezweifle, dass dir das hier ueberhaupt etwas bringt.
Zum einen hast du in deinem Beispielcode auch Ziffernkombinationen, die nur dreistellig sind - alles, was kuerzer als 4 "word characters" ist, wird aber in Defaulteinstellung aber nicht indiziert (daran koennte man, bei Zugriff auf die MySQL-Server-Konfiguration, zwar drehen - aber es wirkt sich natuerlich weiter zu Ungunsten der Performance aus).
Und zum anderen werden Suchbegriffe, die in mehr als 50% der Datensaetze vorkommen, ignoriert, liefern keinen Treffer - wenn also manche deiner Ziffernkombinationen dieses Kriterium erfuellen, bekaemst du damit ebenfalls Probleme.

MfG ChrisB