Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果ORACLE中使用了两个联接字段,则完全外部联接被卡住_Sql_Oracle - Fatal编程技术网

Sql 如果ORACLE中使用了两个联接字段,则完全外部联接被卡住

Sql 如果ORACLE中使用了两个联接字段,则完全外部联接被卡住,sql,oracle,Sql,Oracle,我有完全外部连接的问题 查询: 查询卡住了,我必须重新启动Oracle。在小数据集上一切正常,但当一个数据集很大(合格性表中的记录超过100万条)时,DB就卡住了。我必须在这两个表上使用哪个索引?您的评论: 是的,我正在尝试查找所有在tr_条目中不匹配的资格记录 那么为什么要进行完全的外部连接呢?这毫无意义。您应该改用不存在子句: select * from eligibility e where not exists ( select * from tr_entry t where

我有完全外部连接的问题 查询:

查询卡住了,我必须重新启动Oracle。在小数据集上一切正常,但当一个数据集很大(合格性表中的记录超过100万条)时,DB就卡住了。我必须在这两个表上使用哪个索引?

您的评论:

是的,我正在尝试查找所有在tr_条目中不匹配的资格记录

那么为什么要进行完全的外部连接呢?这毫无意义。您应该改用
不存在
子句:

select *
from eligibility e
where not exists
(
  select *
  from tr_entry t
  where t.correlation_id  = e.correlation_id
     or t.correlation_id2 = e.correlation_id2
);

我不知道
pairing\u date
列是如何发挥作用的,所以只需将它们放入查询中即可:-)

您的格式设置和缩进是疯狂的(我也对WHERE子句中的括号表示怀疑…)如果你想让人们阅读你的代码,请以一种不那么痛苦的方式格式化它。你能提供示例数据和期望的结果吗?您的查询不是最容易理解的。您仅从一个表中选择列,因此似乎不需要
完全外部联接。因此,您正在尝试查找所有
合格性
记录,这些记录在
tru条目中不匹配,反之亦然?但您只显示
资格
列。这似乎没有道理。你必须重新启动Oracle吗?或者你只需要取消查询?“卡住”是指“非常慢”吗?@ThorstenKettner是的,我正试图找到所有在tr_条目中没有匹配项的资格记录
select *
from eligibility e
where not exists
(
  select *
  from tr_entry t
  where t.correlation_id  = e.correlation_id
     or t.correlation_id2 = e.correlation_id2
);