Hallo,
- ich habe die Dinge getestet, leider wird auch beim letzten Mal der Index nicht beim SELECT verwendet.
Testweise habe ich mal noch die Felder attr_department / attr_gender in die Tabelle invoicelines mit aufgenommen .. mit teilweisem Erfolg:
...
LEFT JOIN ( SELECT ItemNrInt,MAX(OrderQty),MAX(FullPrice),MAX(OrderDate),MAX(ItemPriceNoVAT),MAX(Status)
FROM invoicelines WHERE invoicelines.attr_gender = '8'
GROUP BY ItemNrInt
ORDER BY NULL) invoicelines
ON (invoicelines.ItemNrInt = items.ItemNrInt)
...
hat den SELECT deutlich schneller gemacht.
attr_gender hat auch einen Index bekommen.
Das scheint mir eine gute Variante zu sein (?) - ich packe die Felder, die ich benötige, mit in die Tabelle invoicelines und kann so besser beim LEFT JOIN filtern - vielleicht nicht elegant, aber offenbar ziemlich zügig.
Die "langsame" Variante für eine Suche komplett ohne Filter wird sicher ohnehin nicht beschleunigt werden können?
Viele Grüße
Mark
Edited 1 time(s). Last edit at 02/03/2012 04:12AM by Mark Knochen.