|
|
1
1
我不知道Apache Spark,但在我看来,数据库可以通过IDNUM快速访问A和B中的行/项,因此,如果通过条件“IDNUM in(SELECT IDNUM FROM B)”的元素数较低,则可以非常快速地处理检查相等性的subselect或join。获取整个表的计数是一个常见的情况,因此它将被优化为快速。 ‘IDNUM NOT IN(SELECT IDNUM FROM B)’天真地需要扫描A中所有行的IDNUM列,以检查它们是否不在B的集合中。由于您只是在执行计数,因此实际上并不需要这些行的IDNUM值,但我猜查询优化器不够聪明,无法将查询转换为两个计数之间的差异。 |