Hallo dedlfix,
weiß der Geier, wer auf den blöden Gedanken gekommen ist, dass der Inhalt einer IN-Klausel nicht durch ein Array geliefert werden darf. Generationen von SQL Entwicklern fluchen darüber. Bzw. erzeugen Temp-Tables in der Temp-DB, um dagegen zu joinen.
Dann schon lieber die OR-Klauseln dynamisch ins SQL schieben.
Je nach DBMS und DB-Statistiken kann eine OR-Bedingung aber dazu führen, dass kein direkter Indexzugriff mehr gemacht wird (sofern foo denn im Index steht), sondern ein Table-Scan bzw. Index-Scan. Das muss man per EXPLAIN erforschen. Je nach Table-Größe und Anzahl von Werten kann ein eigener SELECT pro Wert besser sein als ein OR. Zumindest haben mir das unser DB-Admins früher mal so gepredigt.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi