hi,
Im Normalfall (nur eine Option selektiert) ergibt sich damit also
' AND col IN (17)'Jetzt frage ich mich, ob es nicht effizienter wäre, bei nur einer selektierten Option den Code
' AND col = 17'
generieren zu lassen.
Vielleicht auch noch bei zwei ausgewählten Werten
' AND ((col = 17) OR (col = 42))'statt ' AND col IN (17,42)'
ich glaube kaum, dass sich das irgendwie bemerkbar auswirken wird, egal bei welcher datenmenge.
mysql optimiert selber einiges bei WHERE-klauseln, und die doku sagt selber, dass dort bisher nur ein teil dokumentiert ist.
aber wenn ich mir dort nur das erste beispiel anschaue, bzgl. des entfernens unnötiger klammern - dann gehe ich davon aus, dass mysql deine bedingung sowieso erst mal "zerlegt", und dass IN() oder mehrere = mit OR verknüpft keinen unterschied beim "raussuchen" der datensätze machen; es wird für mysql allenfalls beim parsen deiner query einen unterschied machen, aber auch der dürfte absolut zu vernachlässigen sein.
dass du mysql beim anschließenden suchen der daten "hilfst", in dem du einen geeigneten index erstellst, scheint mir weitaus wichtiger.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }