Mailinglisten-Archive |
Hallo Liste, ich bin jetzt schon seit 2 Tage auf der suche diese Abfrage schneller zu bekommen: select distinct itNum from tblItemCat, tblCats where catParent = 9719 and (itCategory=catChild || it2ndCat=catChild) and (itLand = 1 or itLand = 4 or itLand = 6 or itLand = 9 or itLand = 0); Explain: | table | type | possible_keys | key | key_len | ref | rows | Extra | | tblCats | ref | PRIMARY,catChild,catParent | catParent | 5 | const | 81 | where used; Using temporary | | tblItemCat | ALL | itCategory,it2ndCat | NULL | NULL | NULL | 204587 | where used | tblCats hat einen Index auf catParent und einen auf catChild tblItemCat hat einen index auf itCategory und einen auf it2ndCat Was ich nicht verstehe, es sind in der Tabelle tblCats 87 Einträge für catParent=9719 und und 2379 einträge bei denen "catChild=itCategory || catChild =it2ndCat" Zutrifft. Wieso sucht er die ganze Tabelle (204587) nach treffern durch Hier mal einen count(*) select distinct count(itNum) from tblItemCat, tblCats where catParent = 9719 and (itCategory=catChild || it2ndCat=catChild); | count(itNum) | +--------------+ | 2379 | +--------------+ 1 row in set (7.78 sec) Mysql 3.23.51 auf Debian Dual Xeon 1.7 Ghz 1 GB RAM SCSI Platten Wäre super, wenn jemand mir helfen kann! Mit freundlichen Grüssen Thomas Goik ----------------------------------------- Besuchen Sie uns: http://www.echtwahr.de http://www.echtwahr.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive