MySQL order und index
mixmastertobsi
- datenbank
Hallo,
ich habe ein problem mit ORDER BY und einem MYSQL-INDEX.
Wenn ich die Abfrage mit ORDER BY starte, wird der angelegte Index nicht berücksichtigt.
Zum Beispiel -> 2200 Datensätze werden indiziert
SELECT * FROM artikel WHERE kategorie='10' ORDER BY ranking DESC
Zum Beispiel -> 300 Datensätze werden indiziert
SELECT * FROM artikel WHERE kategorie='10'
Hi,
ich habe ein problem mit ORDER BY und einem MYSQL-INDEX.
Wenn ich die Abfrage mit ORDER BY starte, wird der angelegte Index nicht berücksichtigt.
Das schließt du woraus genau?
Zum Beispiel -> 2200 Datensätze werden indiziert
SELECT * FROM artikel WHERE kategorie='10' ORDER BY ranking DESCZum Beispiel -> 300 Datensätze werden indiziert
SELECT * FROM artikel WHERE kategorie='10'
Indiziert worden sind die Daten bereits vorher, beim Aufbau des index bzw. beim Einfügen der Datnsätze - daher verstehe ich nicht, was genau du mit der Formulierung "xy Datensätze werden indiziert" eigentlich sagen willst.
Und worauf der Index in diesem Beispiel liegt (Spalte, -ntyp), verrätst du uns auch nicht.
Dass MySQL u.U. auf die Nutzung eines Index verzichtet, wenn diese keinen Vorteil ergeben würde, ist im Handbuch beschrieben.
MfG ChrisB
Hello,
Wenn ich die Abfrage mit ORDER BY starte, wird der angelegte Index nicht berücksichtigt.
Was sagt denn EXPLAIN zu deiner Abfrage?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg