Mailinglisten-Archive |
Hallo lass mal das 'order by' weg. Wenns dann schneller geht mal einen Index auf col4 allein anlegen. Laut Handbuch sollte das Sortieren beschleunigen. MFG Frank -----Ursprüngliche Nachricht----- Von: Elmar Haneke [mailto:elmar_(at)_haneke.de] Gesendet am: Montag, 29. März 1999 14:49 An: mysql-de_(at)_lists.4t2.com Betreff: Re: AW: Performance Frage und Indices Norbert Hartl schrieb: > > On Mon, Mar 29, 1999 at 08:21:41AM +0200, Paul Schwarzl wrote: > > Hallo > > > > Was viel wichtiger ist wie suchst du? (order by, Joker, ..) > > Gib mir ein typisches Beispiel > > > Ein Beispielselect sieht ungefaehr so aus (weiss nicht ob das hilft) > > SELECT id, col4 FROM table WHERE col1 = 'XXX' and (col2 = '1999-xx-xx') AND col3 < 99 and (col4 >= 500 and col4 <= 1000) and (col5 = 'YYY' OR col5 = 'ZZZ' OR col5 = 'AAA') ORDER BY col4; Hast Du es mal mit Variationen der Anfrage versucht? Erstmal solltest Du mittels isamchk die Statistiken aktualisieren, vielleicht ergibt sich dann schon eine andere Ausführungsreihenfolge. Ansonsten kann man nur versuchen, die Anfrage so umzustellen, daß ein passender Index verwendet wird, beispielsweise könnte man die beiden Klammern vertauschen. In der obigen Reihenfolge ist zumindetens die Standard-Indexstrategie nach der ersten Klammer am Ende, die entsprechenden Datensätze werden direkt gelesen. Ob MySQL den "dreigeteilten" Indexzugriff schafft, wenn man die Klammern umstellt, ist mir nicht bekannt. Elmar
php::bar PHP Wiki - Listenarchive