1、对数据进行处理尽量使用php进行遍历,避免重复进行数据库的查询
2、进行联表查询时,对于关联的表的相关字段,在表设计时建立索引属性
exp:
select `um_score_umlist`.id, `um_score_umlist`.umid,`um_score_umlist`.deptid,`um_score_answer`.score,`um_score_answer`.score_umid,`um_score_answer`.score_id,`um_score_answer`.orgid,`um_score_umlist`.umname,`um_score_umlist`.deptname,`um_score_umlist`.issetscore,`um_score_umlist`.isgetscore from `um_score_umlist` left join `um_score_answer` on `um_score_answer`.score_id=`um_score_umlist`.score_id and `um_score_umlist`.umid=`um_score_answer`.umid where `um_score_umlist`.score_id =24 order by `um_score_umlist`.id asc
这样复杂的两个表的查询,数据很多时查询就特别耗时,如果对表um_score_umlist和um_score_answer这两个表的umid和score_id字段添加索引,查询速度提速很快
索引添加语句 : ALTER TABLE `um_score_answer` ADD INDEX(`score_id`)
ALTER TABLE `um_score_answer` ADD INDEX(`score_id`,`umid`)