没见过,不过使用select /*+parpallel*/ ... from ...
可以调动并行查询的。

解决方案 »

  1.   

    你可以写java存储过程来实现这样地要求
      

  2.   

    select
    /*+parallel(user_tab_partitions,8)*/ *
     from user_tab_partitions;
    parallel后的表名必须和from后的表名一致,8是起几个线程
      

  3.   

    通常我们用多个进程来处理大数据量的操作,也就是streaming,需要对数据表预先做streaming处理,比如一个产品库存表可能有200m的纪录(分区表),我们在处理该表的时候就会根据产品代码的区间来处理。见下例:
    --pl/sql procedure
    create procedure upd_prod(p_start varchar2,p_end varchar2) is
      cursor c_prod is 
        select ... from prod_t
         where prod_id between p_start and p_end;
    begin
      ...
    end;然后在调用该过程的时候,启动多个进程来处理(过程的多少通常取决于空闲的cpu个数)。
      

  4.   

    并行查询选项是在创建表时定义的。
    如:
    create table tbname(col1,col2..)
    parallel degree(default或者n);单cpu下,没有必要使用并行查询,反而可能导致性能下降
      

  5.   

    同意bzszp(SongZip) 在多cpu下,才能使用并行并行查询选项是在创建表时定义的使用select时自动使用多线程,不需要其他设置
      

  6.   

    我想大家有些误解我的意思,我是想知道,我的数据库在多少并发用户量的时候性能比较好。
    所以我需要测试出来这个数据,当然,通过java程序写并发我是会的,但是我的头说,使用pl/sql也可以写,而且要用pl/sql和java的做比较,所以我一定要知道pl/sql是否可以写并发查询,如果可以,那如何写?
    ----------------------------------
    关于对表的并发如何优化,数据库调优之类的并不是我关心的问题(那个目前还不是我工作的重心)
      

  7.   

    你可以看一下pl/sql的帮助,可能不会发现任何关于多线程的资料。所以,你们头说可以,我倒是想学习学习,但我还是建议用java
      

  8.   

    是啊,我自己也是看了好久没有发现。只有一些java内嵌到sqlplus中运行的。
    但是我领导很有权威,是个从美国回来的博士诶,还有好多年的工作经验!
    由于他很忙,我也不能一直钉着他问。所以想请教高手。
    不知道是不是他搞错了,还是我是个井底之蛙。
      

  9.   

    别忘了下面的语句:
    alter session enable parallel dml。
      

  10.   

    好像不行:
    SQL> create table test_p(num_col number,char_col char(5)) parallel degree(2);
    create table test_p(num_col number,char_col char(5)) parallel degree(2)
                                                                  *
    ERROR at line 1:
    ORA-00922: missing or invalid option
      

  11.   

    看看这篇文章:http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci878330,00.html?FromTaxonomy=%2Fpr%2F286329
    ===========================
    oldwain
    ---------------------------
    http://www.itpub.net/index.php?referrerid=32 
    http://www.linuxforum.net/ 
    http://expert.csdn.net/
    http://www.oraclefan.net/ 
      

  12.   

    博士,就真的很牛吗?不是牛B就是牛始.我就这么认为.
    你让他写写试试,说不定它只是take it for granted.
      

  13.   

    我觉得是用pl/sql写好存储过程,然后通过外部应用程序启动多进程/线程来处理吧。
      

  14.   

    并发查询可以用 /*+ ... */ 来指定。我记得原来看过文档中说,是 每次 执行一个java 存储过程时要启动一个 Oracle 提供的 java 虚拟机,并建议说是当用 pl/sql 无法实现某个功能时再考虑用 java 存储过程。吓得我都不想试一试了。
      

  15.   

    Very Good ,我要好好努力了!