Peter: WHERE col = 1 OR col = 2 OR col = 3 oder WHERE COL in (1,2,3)?

Beitrag lesen

Tach,

$sql .= ' AND col IN ('.implode(",", $POST['myselect']).') ';
tipp am rande, nicht ungeprüft daten in deine abfrage oder generell code einbauen.

Schon klar, ich hab den Code hier aufs wesentliche reduziert - daß geprüft wird, daß nur Zahlen im Array stehen, ist klar.

Kann mir jemand sagen, ob das einen Effizienzgewinn bringt? Oder ist der so gering, daß er durch den (minimal) aufwendigeren PHP-Code wieder aufgefressen?
der PHP code sollte in aller regel nicht so viel zusätzliche zeit in anspruch nehmen, der gewinn dadurch kann aber unter umständen erheblich bis enorm sein. es spielt durch aus eine wichtige rolle, wie man die sql abfrage stellt, auch wenn das ergebnis das gleiche ist.

Naja, genau deswegen frage ich ja, welche Variante für wenige Werte effizienter ist.

aber wenn du nicht schon auf geschwidigkeitsprobleme gestossen bist, würde ich eine andere regel auch nicht aus den augen verlieren,

Das Problem ist: hier in der Testumgebung hab ich nur ca. 50000 Datensätze. In der Umgebung, in der das irgendwann laufen soll, werden es wohl recht bald ein paar Millionen werden.

Peter B.