I want to select data from multiple tables but as the data gets larger my system become slow when fetching from MySQL database.
How can I make this query more efficient.
SELECT s.id,s.regiNo,
s.firstName as fname,
s.middleName as mname,
s.lastName as lname,
s.gender, s.class_group, c.subjects,
e.mid_term, e.count_assessment, e.examid,
e.scored, e.internaltype, e.Class,
e.Year,e.total_score,e.sub_highest,e.sub_lowest,
e.first_term,e.second_term,e.third_term,e.avg_score
FROM student s
inner join exam e on s.regiNo = e.Roll_Number
inner join subjects c on e.sub_id = c.subect_code
group by s.regiNo, s.firstName, s.middleName, s.lastName,
s.gender, s.class_group, c.subjects,
e.mid_term, e.count_assessment, e.examid, e.scored, e.internaltype,
e.Class, e.Year,e.total_score,e.sub_highest,e.sub_lowest,
e.first_term,e.second_term,e.third_term,e.avg_score,s.id
I see you have ID column, if that is your PK then you probably need some indexes.
Try creating index on JOINING columns.. such as regiNo, Roll_Number on