下面是我的查询,我使用四个连接来访问来自三个不同表的数据,现在在搜索 1000 条记录时大约需要 5.5 秒,但是当我将其放大到 100,000 条时,它似乎需要无限长的时间,(最后7小时取消..)
有谁知道我做错了什么?或者可以做些什么来加快查询速度?
这个查询可能最终不得不运行以返回数百万条记录,我只将它限制为 100,000 条以测试查询,而且即使是这么小的数量,它似乎也会失败。
对于我在 oracle 8 上的记录
CREATE TABLE co_tenancyind_batch01 AS
SELECT /*+ CHOOSE */ ou_num,
x_addr_relat,
x_mastership_flag,
x_ten_3rd_party_source
FROM s_org_ext,
s_con_addr,
s_per_org_unit,
s_contact
WHERE s_org_ext.row_id = s_con_addr.accnt_id
AND s_org_ext.row_id = s_per_org_unit.ou_id
AND s_per_org_unit.per_id = s_contact.row_id
AND x_addr_relat IS NOT NULL
AND rownum < 100000
解释图片计划:http: //imgur.com/Xw9x4BA(易于阅读)