我使用FULL OUTER JOIN联接了2个表,这花了6分钟来运行并给出输出。
SELECT * FROM tab1 FULL OUTER JOIN tab2 ON tab1.id = tab2.id ;
我使用LEFT OUTER JOIN和RIGHT OUTER JOIN的UNION做了同样的事情。仅用了15秒
SELECT * FROM tab1, tab2 WHERE tab1.id (+) = tab2.id UNION SELECT * FROM tab1, tab2 WHERE tab1.id = tab2.id (+) ;
有人知道为什么会这样吗?
您可能在两个表中都有很多行,共有几行,并且所讨论的列上没有索引。