Rolf B: prepared statement mit or bei zunächst unbekannter Anzahl von Bedingungen

Beitrag lesen

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