本人在开发中喜欢用联表查询,因为这样可以大大简化代码。
使用分步查询不仅需要编写多条sql语句,而且需要通过代码去实现哈希关系,需要使用到多个for循环。维护时,对代码的理解比较困难。
以下是本人对这些优缺点的理解:
联表查询的优点:
简化代码逻辑,通过适当的注释可以轻松理解。
减少数据库查询次数,通常情况下,查询速度更快。
分步查询的优点:
能有效理由数据库缓存,提高查询效率,减少数据库压力。
数据库表结构发生变化时,代码受到的影响比较少。
请补充...
其实分步查询最大的好处是,便于做水平切分。所以很多公司都开始逐步移除JOIN、移除子查询了。
另外,JOIN还有两个比较大的缺点:
不易识别执行计划;
查询结果中容易产生NULL。
548k questions
547k answers
4 comments
86.3k users