Mailinglisten-Archive |
Dirk Munzinger wrote: > Und noch was zu obiger Query: eine SELECT blah .. WHERE name LIKE > 'HALLO' ist sinnlos und würde sich negativ auf die Suchgeschwindigkeit > auswirken. Hier müßte man entweder z.B. 'HALLO%' verwenden, wenn man den > Teilstring in einem Feld sucht oder aber WHERE NAME = 'HALLO', wenn man > nur das Feld mit dem Inhalt HALLO sucht. > > Ich schreibe dies nur mal so zur Info, weil ich da schon einige geniale > Querys dieser Form gesehen haben und sich die Leute dann gewundert > haben, wieso die Abfrage so lange dauert. > > Gruß und noch frohe Ostern, > > Dirk Hallo Dirk! Bei einem Index auf dem VarChar-Wherefeld ist ein: ...WHERE NAME = 'HALLO' ist (wie erwartet) auf meinem System, genauso schnell wie: ...WHERE NAME like 'HALLO' gleich schnell ist ein: ...WHERE NAME like 'HALLO%' solange nicht mehr Treffer vorhanden sind. (Also keine 'Hallos') um Dimensionen langsamer ist: ...WHERE NAME like '%HALLO' weil (nur) hier der Index für die Katz' ist! Frohe Ostern Paul
php::bar PHP Wiki - Listenarchive