Mailinglisten-Archive |
>>du hast vergessen zu sagen WAS die Abfrage denn liefern soll? > > Hä? Wo hab ich das vergessen? > Liefern soll und tut sie auch alles zwischen SELECT und FROM. > Oder versteh ich dich da falsch? ja die felder, aber welche datensätze? welche bedingungen müssen erfüllt sein? man sieht zwar dein WHERE aber das allein ohne die Tabellen-Definition gibt keinen Aufschluss darüber was du eigentlich suchen willst! d.h. man kann deine Suchanfrage nicht verbessern wenn man nicht weiß was du eigentlich suchst! denn es kann ja sein das deine Suchanfrage schon falsch gestellt ist, und diese deshalb wesentlich mehr als nötig durchsucht, was ich aber nicht weiß da ich nicht weiß was du eigentlich suchst ... naja irgendwie so ... >>... mhm auf jeden fall sollten deine ORDER BY - Spalten auch im index >>sein!!! > > Sind sie. > Sämtliche *_id sind in der jeweiligen Haupttabelle PrimaryKey. > >>... das GOUP BY sollte natürlich auch auf NUR auf indizierte Spalten >>angweandt werden!!! > > Sind alle indiziert. > >>Grundsätzlich: es sollten möglichst ALLE Saplten die in WHERE, ORDER BY >>oder GROUP BY verwendet werden in einem Index vorkommen > > Das ist mir bekannt und auch entsprechend angewendet. > >>'Using temporary; Using filesort' ist das Schlechteste was überhaupt da >>stehen kann bei EXPLAIN (hast du ein index auf kfz_service.s_id ???) > > kfz_service.s_id ist PRIMARY_KEY, also automatisch mit einem Index belegt. > >>hast die Indizes auf die akin-Spalten? > > Ja, auch wenn es sich um ENUM handelt und eh nur 2 integer Werte drin stehen. > >>in kfz_service ein Index auf s_id,akin > > Auch dort ist überall ein Index drauf. ja aber für jede Spalte eine eigener Index bringt dir nichts! du brauchst _einen_ Index der über _alle_ benötigten Spalten einer Tabelle geht haben, wobei auch zu beachten wäre das die Spalten in dem Index in der richtigen Reihenfolge stehen! -- Sebastian Mendel *www.warzonez.de* www.sebastianmendel.de | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive