我有一个旧版Oracle 8.1.7的数据库,我一直在运行以下的Union查询
select c_ordine_es
,c_ordine_salesnet
,v_oyov
,v_annuale
,v_oneoff
,v_canone
,c_operatore_tam
from v_ordine_cliente_easysell
where d_ultima_modifica>DataRif
union
select c_ordine_es
,c_ordine_salesnet
,v_oyov
,v_annuale
,v_oneoff
,v_canone
,c_operatore_tam
from v_ordine_cliente_easysell v
,scarti_interfaccia_easysell_o s
where s.c_codice_es=v.c_ordine_es
and s.t_tabella_es=pkType.K_SCARTO_ORDINE_CLIENTE;
每次运行这些查询时,SQL客户端(我使用的是Toad)都会挂起。在这里,我必须提到v_ordine_cliente_easysell
和scarti_interfaccia_easysell_o
中的数据,这两个视图/同义词是使用DB Link(到另一个SIEBEL DB)获取的。我猜这个问题是在通过DB_LINK获取数据时发生的,因为SIEBEL DB非常繁忙。你能建议我怎么调整上面的查询?
解释计划如下所示
OPERATION OPTIONS OBJECT_NODE POSITION COST CARDINALITY BYTES SELECT STATEMENT 28 28 478912 61779648 HASH JOIN 1 28 478912 61779648 INDEX FAST FULL SCAN 1 2 11354 102186 REMOTE SIEB.WORLD 2 23 4218 506160
答案 0 :(得分:0)
v_ordine_cliente_easysell
的本地副本。 scarti_interfaccia_easysell_o
的本地副本
t_tabella_es=pkType.K_SCARTO_ORDINE_CLIENTE
。 UNION ALL