Sélectionner et Insérer à travers dblink

Je vais avoir un peu de difficulté avec un select into insérer dans un dblink dans oracle 10. Je suis à l'aide de l'instruction suivante:

INSERT INTO LOCAL.TABLE_1 ( COL1, COL2) 
SELECT  COL1, COL2
FROM REMOTE.TABLE1@dblink s
WHERE COL1 IN ( SELECT COL1 FROM WORKING_TABLE)

Quand je lance la déclaration de la suivante est ce qui est exécuté sur le serveur distant sur la DB Lien:

SELECT /*+ OPAQUE_TRANSFORM */ "COL1", "COL2"
FROM "REMOTE"."TABLE1" "S"

Si je lance le sélectionner uniquement et ne font pas l'insérer dans le suivant est exécuté:

SELECT /*+ */ "A1"."COL1"
     , "A1"."COL2"
  FROM "REMOTE"."TABLE1" "A1"
 WHERE "A1"."COL1" =
   ANY ( SELECT "A2"."COL1"
       FROM "LOCAL"."TABLE1"@! "A2")

La question est dans l'insert cas, le enitre tableau est tiré à travers la dblink et limité en local qui prend un peu juste de temps compte tenu de la taille de la table. Est-il une raison de l'ajout de l'insérer serait de modifier le comportement de cette manière?

OriginalL'auteur Domtar | 2010-03-17