以下SQL如何优化:
SELECT a.*,b.*,c.*,d.* FROM a
LEFT JOIN b ON a.b_id=b.id
LEFT JOIN c ON a.c_id=c.id
LEFT JOIN d ON a.d_id=d.id
WHERE a.id=1
描述:根据a表中的id查询a表信息时,需要根据a表中其他表的id查询对应的信息。分4次访问数据库效率低,多表联查也低,如何将a表中查询出来的数据作为快照分别取其他表的id查询出数据后排成一条最终结果的数据。
超过三个以上关联就可以考虑采用视图,临时表等去实现多表关联查询
你这个id是主键吧或者唯一索引,既然每个表都有这个字段你直接拿着id=4去四张表查就行了啊,你要是代码里查四次就行了,毕竟是索引很快的,要是只是执行sql结果,我认为连表也没问题
【相关推荐】