Mailinglisten-Archive |
Hallo Michael , > kannst Du die Spaltennamen im Select-Statement mal qualifizieren > (Tabellenname bzw. alias davor), Mach ich: select distinct count(A.itNum) from tblItemCat AS A, tblCats AS B where B.catParent = 9719 and (A.itCategory = B.catChild or A.it2ndCat = B.catChild) and A.itLand IN ( 1, 4, 6, 9, 0) limit 0,35; Braucht: 1 row in set (7.44 sec) > das Explain mal lesbar formatieren und B, ref, PRIMARY,catChild,catParent, catParent , 5 , const, 81, where used A, ALL, itCategory,it2ndCat , NULL, NULL, NULL, 193152 , where used > die Create-Table Statements (ggf. > gekürzt) beilegen? show columns from tblItemCat itNum| int | PRI itCategory | int | MUL it2ndCat | int | MUL itLand | tinyint Show columns from tblCats | catParent | int | MUL | catChild | int | PRI | auto_increment | > 2. Mach mal ein Check Table auf die beteiligten Tabellen, das aktualisiert > die Statistiken über die Werteverteilung (kardinalität). Hatte ich schon gemacht! > 3. Notfalls kann man MySQL dazu verdonnnern einen bestimmten Weg zu gehen > und zwar entweder eine bestimmte Richtung beim Join (STRAIGHT_JOIN) oder > beim Join einen (!) bestimmten Index (USE INDEX) zu verwenden. Ich weiß, aber wie bekomme ich es hin, das er nicht die ganze tabell tblItemCat ließt? gruß Thomas -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive