mysql> EXPLAIN SELECT e_serial, DATE_FORMAT( e_date, '%m/%d/%Y' ) AS e_date, eo_name, ed_name, o_name, ev2.ev_value as start_time, ev3.ev_value as end_time FROM `cal_e_event` LEFT JOIN cal_eo_eventowner ON eo_serial = e_eo_serial LEFT JOIN cal_ed_eventdefinition ON ed_serial = e_ed_serial LEFT JOIN cal_ev_eventvalue AS ev1, ath_o_opponents ON ev1.ev_e_serial=e_serial AND ev1.ev_edi_serial=1 AND o_serial=ev1.ev_value LEFT JOIN cal_ev_eventvalue AS ev2 ON ev2.ev_e_serial = e_serial AND ( ev2.ev_edi_serial =2 OR ev2.ev_edi_serial =24 ) LEFT JOIN cal_ev_eventvalue AS ev3 ON ev3.ev_e_serial = e_serial AND ev3.ev_edi_serial=25 WHERE e_date > '2007-08-01' AND e_date < '2008-07-30' AND e_ed_serial != '4' ORDER BY `cal_e_event`.`e_date` ASC , `cal_e_event`.`e_serial` ASC; +----+-------------+------------------------+--------+---------------+---------+---------+-----------------------------+------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+------------------------+--------+---------------+---------+---------+-----------------------------+------+----------------------------------------------+ | 1 | SIMPLE | cal_e_event | ALL | NULL | NULL | NULL | NULL | 2075 | Using where; Using temporary; Using filesort | | 1 | SIMPLE | ev1 | ALL | NULL | NULL | NULL | NULL | 7772 | | | 1 | SIMPLE | cal_eo_eventowner | eq_ref | PRIMARY | PRIMARY | 4 | cms.cal_e_event.e_eo_serial | 1 | | | 1 | SIMPLE | cal_ed_eventdefinition | eq_ref | PRIMARY | PRIMARY | 4 | cms.cal_e_event.e_ed_serial | 1 | | | 1 | SIMPLE | ath_o_opponents | eq_ref | PRIMARY | PRIMARY | 4 | cms.ev1.ev_value | 1 | | | 1 | SIMPLE | ev2 | ALL | NULL | NULL | NULL | NULL | 7772 | | | 1 | SIMPLE | ev3 | ALL | NULL | NULL | NULL | NULL | 7772 | | +----+-------------+------------------------+--------+---------------+---------+---------+-----------------------------+------+----------------------------------------------+ 7 rows in set (0.00 sec)