a,b表在数据量差距大的情况下的连接查询

如题,A表数据量远大于B表,通过id进行关联,
应该用A.id = B.id还是B.id = A.id ?为什么

阅读 2.4k
2 个回答

你这个问题问法不对,你没有讲关联方式是内联接还是外联接

如果是前者,那么B表放前面做内链接的时候要扫描的A表行数更少

如果是后者应该是问A.id = B.id应该是左外联接还是右外联接,那么我的回答是:看你需求是什么再做决定。

本质上A.id = B.id只是说明两个表的连接条件,在逻辑上没有区别
对oracle来说,选择执行计划和左右表达式的顺序也没有关系,因此这两种写法从性能角度没有区别。

从编写sql的规范性和易读性看,表达式的顺序和from语句中表的顺序保持一致。

推荐问题