Mailinglisten-Archive |
Hallo, ich habe folgende Tabelle: CREATE TABLE Posts ( Board varchar(100) NOT NULL, Number int(11) unsigned NOT NULL auto_increment, Posted int(11) unsigned DEFAULT '0' NOT NULL, Subject text, Body text, PRIMARY KEY (Number), KEY index1 (Number, Board), KEY index2 (Board), KEY index3 (Posted, Board), KEY index4 (Board, Number) ); und folgenden SQL Befehl: SELECT * FROM Posts WHERE Board = 'board1' ORDER BY Board DESC, Number DESC laut Dokumentation http://www.mysql.com/doc/O/R/ORDER_BY_optimisation.html => SELECT * FROM t1 WHERE key_part1=1 ORDER BY key_part1 DESC,key_part2 DESC sollte der Command wohl index4 verwenden. Stattdessen wird index2 verwendet. Bei SELECT * FROM Posts WHERE Board <> 'board1' ORDER BY Board DESC, Number DESC wird index4 verwendet. Warum wird bei 1. SQL Befehl nicht index4 verwendet. Wie kann ich den SQL Befehl formulieren, damit index4 angewendet wird. Danke Michael --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive