多个快照联查怎么提高速度,单个快照查询时间就几百毫秒,如果是3个快照联查的话就很难出结果(快照数据最少都是上万)如果用count函数查询数量只需300多毫秒,一旦要查询具体的数据就不行了!结果一共有6000多条数据
以下是count函数查询的执行计划Execution Plan 
---------------------------------------------------------- 
  0      SELECT STATEMENT Optimizer=CHOOSE 
  1    0  SORT (AGGREGATE) 
  2    1    TABLE ACCESS (FULL) OF 'T_JY_XXFBJL' 
Statistics 
---------------------------------------------------------- 
          7  recursive calls 
          0  db block gets 
        230  consistent gets 
        192  physical reads 
          0  redo size 
        377  bytes sent via SQL*Net to client 
        503  bytes received via SQL*Net from client 
          2  SQL*Net roundtrips to/from client 
          0  sorts (memory) 
          0  sorts (disk) 
          1  rows processed

解决方案 »

  1.   

    compatible=9.2.0.0.0
    位于2个数据库
      

  2.   

    1.count也是关联3个快照查询的吗?2.“一旦要查询具体的数据就不行了!结果一共有6000多条数据 ”
    贴出这个查询的sql和执行计划。
      

  3.   

    377  bytes sent via SQL*Net to client 
    503  bytes received via SQL*Net from client 看来是数据传输的速度慢吧
    链接池设定的是不是有问题,多个用户访问时就需要等待?
      

  4.   

    上面的执行计划就是用COUNT查询的
      

  5.   

    你的意思是用count能较快出结果吧?然后用另一个sql很慢。你贴出这个sql的内容和执行计划。explain for
      

  6.   

    查询原表,跟你3个快照关联查询。sql都不一样吧,如何比较
      

  7.   

     SELECT xmbh, title, fbkssj, ID,
           TO_DATE (fbkssj, 'yyyy-mm-dd hh24:mi:ss') dfbkssj,
           TO_DATE (fbjssj, 'yyyy-mm-dd hh24:mi:ss') dfbjssj,
           SUBSTR (fbkssj, 1, 10) nfbkssj, SUBSTR (fbjssj, 1, 10) nfbjssj,
           (SELECT zylb
              FROM t_jy_zbsq
             WHERE xmbh = t1.xmbh) zylb,
           (SELECT xmmc
              FROM t_jy_zbsq
             WHERE xmbh = t1.xmbh) xmmc,
           (SELECT lastkssj
              FROM t_jy_rcapsub
             WHERE xmbh = t1.xmbh AND rcid = 'RC1002') bmkssj,
           (SELECT lastjzsj
              FROM t_jy_rcapsub
             WHERE xmbh = t1.xmbh AND rcid = 'RC1002') bmjzsj,
           (select xmjdbm
              from t_jy_zbsq
             where xmbh = t1.xmbh) xmjdbm
      FROM t_jy_xxfbjl t1
     WHERE title IS NOT NULL
       AND (fbwz = 0 OR fbwz = 2)
       AND sffb = 1
       AND (xxlx = 'ZBGGLX001' OR xxlx = 'ZBGGLX002')执行计划就出不来了,等了10多分钟都没结果
      

  8.   

    我在10L提了下,用explain for 
      

  9.   

    explain执行以后,同一会话下,select * from table(dbms_xplan.display);