Ich befürchte ich entwickel mir gerade einen Performancekiller, deshalb wollte ich die Meinung der DB Spezialisten hier mal hören bevor ich anfange.
also ich habe ein mySQL DB mit ca. 10,000 einträge, ein Index ist ein varchar, der einen von fünf verschiedene Strings beinhalten kann. Bisher alles keine Problem ein SELECT * FROM tbl WHERE index LIKE 'xxxx' (plus LIMIT) erfüllt den Zweck.
Nun wäre es aber evtl. nett, wenn die Indexspalte mehere Werte enthalten könnte. Mein Überlegung war diese werte mit Komma oder Leerzeichen zu separieren und dann mit LIKE '%xxx%' abzufragen.
Also in etwa so:
SPALTE_1 SPALTE_2 INDEX
.... .... xxx, yyy
.... .... xxx
.... .... yyy
.... .... zzz, yyy
.... .... zzz, yyy, xxx
.... .... zzz
Um dann mit:
SELECT * FROM tbl WHERE index LIKE '%xxx%'
oder
SELECT * FROM tbl WHERE index LIKE '%yyy%'
zu zugreifen.
Ist die Suche mit '%' auf 10,000 Datensätze (LIMIT sind max. 100) noch vertretbar?
Oder gibt es bessere Wege?
Struppi.