性能问题, 当多个并发用户中,有一个查询大量的数据时,其它用户的查询或相关操作就会很慢,像这种问题如何避免, 是不是需要两台ORACLE 服务器,数据是同步的,一台用作像OLTP的操作,一台用作像OLAP的大量查询操作
请有经验的朋友指点

解决方案 »

  1.   

    只有百万的话性能应该问题不大吧你的查询SQL是不是有问题呀优化下SQL吧
      

  2.   

    是这样的,发现这种情况基本是用户端误操作了或其它原因,选择的条件是取出类似于全部数据,也就是百万条,是不是这样就会对其它用户影响很大,这种情况是不是要程式人工分页来取数据,像PL/SQL的查询那样分页,像PL/SQL的查询分页是如果实现的,是用ROWNUM取TOP n吗?
      

  3.   

    不能分开的话,可以做一些优化,分析一下sql,或者环境。
    也可以用物化视图来改善一下。
      

  4.   

    可以尝试设定用户端程序查询的最大记录数,百万条数据全部查询出来的话不管怎么优化SQL速度都不会快.
      

  5.   

    我发现用PL/SQL这个工具查时,它是按每100条取的,也对其它用户的影响很小, 但我是程式中调用一个PACKAGE中的PROCEDURE 返回REF CURSOR的,用PL/SQL 测试这个PROCEDURE返回记录很多也有DOWN机,会不会是REF CURSOR的问题?
      

  6.   

    也就是说你每个用户都是调用PROCEDURE的对吧,
    你的PROCEDURE也是可以限制记录数的,关键是怎么用的问题!
    至于优化,那就得看你的PROCEDURE了!