1、尽量不要写太过复杂的SQL查询,不要想着非要一次性将结果全部以前端要求的形式返回出来,可以多次分开查询,这样逻辑清晰,问题解决速度快,方便维护,并且SQL的效率也高。
2、在使用联表查询的时候,关联表的表长一定不能过长,不然十分影响查询效率。工作中的实际情况是,当关联表表长接近1000时,速度就有明显下降。
3、有关GROUP BY:
- GROUP BY分组后,结果是汇聚成“组”的形式,多用于去重或者返回不同组内的统计数据,如最大值什么的,即只返回同一组数据中的一个值,可以和group_contact连用,以将同一个字段的多个数据连接起来作为一个字段返回。若需要返回不同组下的所有数据,不能用group by(当初会犯这个错误也是group by没学好...)
- GROUP BY X意思是将所有具有相同X字段值的记录放到一个分组里。
- GROUP BY X, Y意思是将所有具有相同X字段值和Y字段值的记录放到一个分组里。