mixmastertobsi: MySQL order und index

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'

  1. 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 DESC

    Zum 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

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. 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

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de