phpbar.de logo

Mailinglisten-Archive

Mal wieder das Order By Problem: filesort statt index

Mal wieder das Order By Problem: filesort statt index

Fleischhauer, Wim wfleischhauer@systeam.de
Thu Nov 28 18:26:12 2002


Hallo Jan,

zu dem Beispiel aus der Doku:

> In den Changes 3.23.37  -> 3.23.38 steht:
>  Changed optimiser so that queries like SELECT * FROM
>  tbl_name,tbl_name2 ... ORDER BY key_part1 LIMIT # will use index on
>  key_part1 instead of filesort.

Hier is MySQL bekann, dass key_part1 nur solange durchlaufen werden
muss, wie hinter LIMIT angegeben. Also kann MySQL den Index 
heranziehen.

> Wieso aber wird filesort bei der kompletten Tabelle angewendet?

Weil es keine Bedingung gibt, anhand der MySQL die Suche
einschränken kann. Ein Index kann nur verwendet werden, wenn
eine prüfende Bedingung aus der indizierten Spalte abgeleitet
werden kann. Wenn diese Info nicht in eine Bedingung (limit, where,
etc.) dann muss über die komplette Tabelle gesucht werden. 


mfg
  -wim fleischhauer-

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive