如题,通过dblink创建一个新表,语法如下:
create table test as select * from saledetail@dblink1;
表saledetail数据量非常大,有9000多万条记录,2个数据库在一个千兆LAN里面,2台数据库服务器都是4个CPU的,并且都处于空闲状态。
为了加快处理速度,请问怎样通过“并行”使得2台服务器能够使用所有资源去处理上面的SQL?

解决方案 »

  1.   

    目前我是这样子添加hint的:
    create table test as select /*+ parallel(saledetail,4) */ * from saledetail@dblink1;
    这样在remote端的select可以使用并行度4,但本地的并行度如何控制呢?
      

  2.   

    目前我是这样子添加hint的: 
    create table test as select /*+ parallel(saledetail,4) */ * from saledetail@dblink1; 
    这样在remote端的select可以使用并行度4,但本地的并行度如何控制呢?--
    1、手工添加并行parallel脚本
    2、动态分配并行度,也就是说不指定并行度create table test as select /*+ parallel(a) */ * from saledetail@dblink1 a; 
      

  3.   

    并行,有的时候是很纠结的
    弄个不好就会造成
    执行完成不了,杀session杀不掉,最后只能去杀进程的杯具