André Laugks: Mehrere Spalten durchsuchen

Beitrag lesen

Hallo!

time | 1 | 2 | 3 | 4

Gibt es jetzt ein Möglichkeit in mehreren Spalten in der ganzen Tabelle nach einem String zu suchen?

Ja, ist aber DRECKIG.

SELECT spalte FROM tabelle WHERE CONCAT(spalte_1, spalte_2, spalte_n) LIKE '%suchwert%';

Mit CONCAT() baut man einen String der angegebenen Spalten zusammen und den vergleicht man mit LIKE.

Drecking ist dabei, daß man CONCAT() nicht in der WHERE-Klausel einsetzen sollte.

Ich setze das bei einer Suche wie beschrieben ein. Dort fasse ich 2-3 Spalten mit dem Typ VARCHAR und eine vom Typ TEXT zusammen. Bei 20.000 Datensätzen merkt man nicht. Bei 50.000 Datensätzen wurde es schon was langsamer. Bei 100.000 Datensätzen hat es schon so 1-1,5 Minuten gedauert. Die Tabelle war mit den 100.000 Datensätzen so 80 MB groß. Ich hatte zum testen die Datensätze immer kopiert.

MfG, André Laugks

--
L-Andre @ gmx.de