zkgale 2009-04-08 15:56
浏览 224
已采纳

SQL效率问题

今天与同事讨论到这样一个很郁闷的问题:
我们在进行一次业务时,会查询到多个表的内容(也就是有多个表的级联)

假设我们有这样一个结构
role{}
department{}
user{
role
department
}
我在这里的意见是,一次查一个东西,如
A.查询 user,
B.user.department
C.user.role

也就是要用的时候从user里面拿.这样就会产生多条SQL,但每条都非常的简单

而我的同事则认为,应该一次把这几个东西都提出来...这样只会产生一条SQL,而这条SQL里面却非常多的JOIN语句

再次说明,是同一个事务

  • 写回答

2条回答 默认 最新

  • iteye_2914 2009-04-08 20:38
    关注

    建议还是用join来把所需数据一下子都获取出来。这种东西依靠主键数据库会帮你优化的,效率更高。一条复杂的sql代码永远比完成相同功能的一大堆代码更有含金量。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?