-1

古いバージョンのOracle 8.1.7のデータベースがあり、以下のユニオンクエリを実行しています

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これら 2 つのビュー/シノニムは DB リンク (別の SIEBEL DB へ) を使用してフェッチされます。SIEBEL DB は常に非常にビジーであるため、DB_LINK を介してデータをフェッチするときに問題が発生していると思います。上記のクエリを調整する方法を教えてください。

説明計画は次のようになります

操作オプション OBJECT_NODE 位置 コスト カーディナリティ バイト
選択ステートメント 28 28 478912 61779648
ハッシュ結合 1 28 478912 61779648
INDEX 高速フルスキャン 1 2 11354 102186
リモート SIEB.WORLD 2 23 4218 506160
4

1 に答える 1

0
  1. table のローカル コピーを作成しますv_ordine_cliente_easysell
  2. scarti_interfaccia_easysell_oでフィルタリングされ たテーブルのローカル コピーを作成しますt_tabella_es=pkType.K_SCARTO_ORDINE_CLIENTE
  3. ローカル コピーに対してクエリを実行しますが、UNION ALL
于 2012-12-18T12:49:40.630 に答える