mysql - The left joins making query slow,is there any method to increase the speed of this query -
select b.entry_id, b.assign_id, a.profile_type, a.profile_id, a.profile_name, a.profile_status, b.entry_type, b.assign_id, c.chapter_name, d.section_name, h.group_name, i.programme_name, k.subjectprogramme_name, j.masterprogramme_name, l.developmentprogramme_name profile_master left join profile_assign b on (a.profile_id = b.profile_id) left join chapter_master c on (b.entry_id = c.chapter_id , b.entry_type='chapter') left join section_master d on (b.entry_id = d.section_id , b.entry_type='section') left join group_master h on (b.entry_id = h.group_id , b.entry_type='group' , h.year_id='".$this->year."') left join programme_master on (b.entry_id = i.programme_id , b.entry_type='programme' , i.year_id='".$this->year."') left join subjectprogramme_master k on (b.entry_id = k.subjectprogramme_id , b.entry_type='subjectprogramme' , k.year_id='".$this->year."') left join masterprogramme_master j on (b.entry_id = j.masterprogramme_id , b.entry_type='masterprogramme' , j.year_id='".$this->year."') left join developmentprogramme_master l on (b.entry_id = l.developmentprogramme_id , b.entry_type='developmentprogramme')
1) rid of coditions left join. use clause filtering
2) guess union or 7 queries (by each entity separetely) better in case
Comments
Post a Comment