estoy teniendo un poco de problemas con un selecto en el inserto a través de un dblink en el oráculo 10. Estoy utilizando la siguiente declaración:Seleccionar e insertar a través de dblink
INSERT INTO LOCAL.TABLE_1 (COL1, COL2)
SELECT COL1, COL2
FROM [email protected] s
WHERE COL1 IN (SELECT COL1 FROM WORKING_TABLE)
Cuando ejecuta la instrucción que sigue es lo se ejecute en el servidor remoto en el DB Link:
SELECT /*+ OPAQUE_TRANSFORM */ "COL1", "COL2"
FROM "REMOTE"."TABLE1" "S"
Si me quedo sólo el selecto y no hago el inserto en que se ejecute el siguiente:
SELECT /*+ */ "A1"."COL1"
, "A1"."COL2"
FROM "REMOTE"."TABLE1" "A1"
WHERE "A1"."COL1" =
ANY (SELECT "A2"."COL1"
FROM "LOCAL"."TABLE1"@! "A2")
El problema está en el caso de insertar la tabla de entrada que se arrastra a través del dblink y luego se limita localmente, lo que toma un poco de tiempo dado el tamaño de la tabla. ¿Hay alguna razón para agregar que el inserto cambiaría el comportamiento de esta manera?
He intentado agregar la siguiente sugerencia a la consulta inicial antes de publicar pero obtuve los mismos resultados. /* + DRIVING_SITE (s) */ Eso sería insinuar que conducir en el lado de dblink correcto? – Domtar