mixmastertobsi: MySQL SlowQuery - ORDER BY

Hallo,

ich habe eine MySQL Abfrage, welche immer mehr als 2 Sekungen braucht und das Problem hier ist ORDER BY, weil die DB über 50.000 Einträge sortieren muss und nachher nur 100 davon ausgibt.

Explain sagt mir folgendes

id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	PRIMARY	ticket	index		PRIMARY	4		40840	Using temporary; Using filesort

Gibt es hier eine Lösung, um die Abfrage zu beschleunigen?

  1. Hallo mixmastertobsi,

    Lektüre für Dich

    Ansonsten:

    • VOLLSTÄNDIGEN Explain zeigen - da muss eigentlich was fehlen weil der select_type PRIMARY den "outermost select" bezeichnet, d.h. da gibt's noch innere Selects.
    • SPALTENGERECHTEN Explain zeigen - jetzt kann man nur raten was was ist.

    Es sieht so aus, als würde er ein solches Datenvolumen haben dass er mit einer temporären Datei und einem Filesort arbeiten muss; das ist der Worst Case überhaupt. Er sagt zwar, dass er "PRIMARY" als möglichen Key vorfindet, aber daneben steht nichts mehr und das heißt, dass er den Index nicht verwendet.

    Schwierig, mit diesen Infos mehr zu sagen - was ist das für eine Query, wie sehen die Tables aus, welche Indexe hast Du, welche DB-Engine ist das, hast Du schonmal ANALYZE TABLE gemacht (hilft dem Server beim Aussuchen von Indizes)?

    Rolf

    --
    sumpsi - posui - clusi