som*_*one 6 sql performance join
我很想知道在sql上查询排除的最有效方法.例如,有2个表(tableA和tableB)可以在1列(col1)上连接.我想为tableB中不存在col1的所有行显示tableA的数据.
(换句话说,tableB包含tableA的col1的子集.我想显示没有tableB中存在的数据的tableA)
假设tableB有100行,而tableA是巨大的(超过1M行).我知道'不在(不存在)'可以使用,但也许有更有效的方法(更少的比较时间)来做它.我不喜欢外连接?
我们非常感谢代码片段和评论.
取决于RDBMS.对于Microsoft SQL Server,NOT EXISTS优先于OUTER JOIN,因为它可以使用更有效的Anti-Semi连接.
对于Oracle Minus显然更喜欢 NOT EXISTS(如果合适的话)
您需要查看执行计划并做出决定.
| 归档时间: |
|
| 查看次数: |
8469 次 |
| 最近记录: |