Mailinglisten-Archive |
Christian Ruetgers schrieb: > Wenn ich den Query mit einem Left-Join auf "disziplin" aufbaue, bekomme ich > für "arbeit" und "users" ein type "ALL". Der ist nach der mySQL-Doku > wirklich schlecht, da dann keine Indizes zum Tragen kommen. Da aber alle in > die Verknüpfungen einfließenden Felder indiziert sind wunder mich das schon. > > EXPLAIN > SELECT > arbeit. * , > disziplin.d_disziplin, > users.name, > users.vname, > users.aktiv AS user_aktiv > FROM > arbeit, > users > LEFT JOIN > disziplin ON arbeit.disziplin_id = disziplin.disziplin_id > WHERE > disziplin.disziplin_id = "2" AND > arbeit.user_id = users.id > +-----------------+--------+---------------+---------+---------+----------------.----+------+------------+ > | table | type | possible_keys | key | key_len | > ref | rows | Extra | > +-----------------+--------+---------------+---------+---------+---------------------+------+------------+ > | arbeit | ALL | user_id | NULL | NULL | > NULL | 3 | | > | users | ALL | PRIMARY | NULL | NULL | > NULL | 4 | where used | > | disziplin | eq_ref | PRIMARY | PRIMARY | 4 | > arbeit.disziplin_id | 1 | where used | > +----------------------+--------+---------------+---------+---------+----------------+------+------------+ > 3 rows in set (0.00 sec) die erste Tabelle (im FROM) muss imer die sein die die wenigsten Ergebnisse liefert, also meißtens wo sich der Datensatz befindet nachdem gesucht wird, in deinem Fall disziplin.disziplin_id also sehe eine ordentliche Abfrage in deinem Fall so aus: SELECT `arbeit`.*, `disziplin`.`d_disziplin`, `users`.`name`, `users`.`vname`, `users`.`aktiv` AS `user_aktiv` FROM `disziplin` LEFT JOIN `arbeit` ON `arbeit`.`disziplin_id` = `disziplin`.`disziplin_id` LEFT JOIN `users` ON `users`.`id` = `arbeit`.`user_id` WHERE `disziplin`.`disziplin_id` = 2 grüße -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive