我们有一个查询,用于查找两个不同数据库(一个SQL Server,一个Oracle)中的两个表之间的差异,理论上这两个表应该始终保持同步。该查询将两个表中的数据都放入表变量中,然后执行一个完整的外连接来查找差异。我们怀疑FULL OUT JOIN是造成性能问题的部分原因。 依赖两个左侧外部连接并查找不存在于连接右侧的记录是否有意义?
C | Y ||---------------------------------------|SELECT … FROM X FULL OUTER JOIN Y ON X.ID1 = Y.ID1 OR X.ID2 = Y.ID2
这是可行的,但是join中的条件具有糟糕的性能,这个视图将花费一分钟的时间运行