phpbar.de logo

Mailinglisten-Archive

Problem mit Index where und order by

Problem mit Index where und order by

Stephan Bulheller mysql-de_(at)_lists.bttr.org
Thu, 21 Mar 2002 10:55:35 +0100


Hallo Michael,

Michael Bonfert schrieb:
> Ich will ja auch erreichen, daß die Sortierung mit Hilfe des index
> realisiert wird.
> 
> Leider verwendet MYSQL bei dem Befehl
> 'SELECT * FROM  Posts WHERE Board  = 'board1'  ORDER BY Board DESC, Number
> DESC'
> Filesort, um das Ergebnis zu sortieren.
> Genau das will ich aber vermeiden.
> Komisch ist nur, wenn ich den WHERE Teil durch  Board  <> 'board1'
> ersetze oder ASC sortiere der Index verwendet wird.
> Ich kann mir das nicht erklären.

Bei einem Board='board1' kann er hier eindeutig einen Index verwenden.
Hier scheint ihm der eindeutige Index ueber Board auzureichen. Bei einem
Board<>'board1' dann hat er wieder mehr zu sortieren und hgreift auf den
anderen Index zurueck.

Eigentlich musst Du in diesem Select nicht nach Board sortieren, da Du
ja ein eindeutiges Board gewaehlt hast. Meiner Meinung nach muesste der
Befehl so aussehen:
"SELECT * FROM Posts WHERE Board='board1' ORDER BY Number DESC"

Vielleicht hilft das weiter.

--
Stephan

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



php::bar PHP Wiki   -   Listenarchive