少有sub query  ,把union all用or来替代
建立索引

解决方案 »

  1.   

    UNION ALL 用 OR 代替什么意思
      

  2.   

    SUB QUERY 的 where 条件是不一样的
      

  3.   

    现在好象数据库字段一般不用中文的吧还有为什么要用UNION ALL?
      

  4.   

    这种语句在实际中没有用
    要几个小时建议用package
      

  5.   

    把执行计划给我们看看
    set autotrace traceonly explain
      

  6.   

    首先在关联的字段上建立索引,AND (dsk_time NOT BETWEEN TO_DATE ('2004-1-22', 'yyyy-mm-dd')
                                         AND TO_DATE ('2004-1-28', 'yyyy-mm-dd')
    上面改成
    and dsk_time <TO_DATE ('2004-1-22', 'yyyy-mm-dd')
    and dsk_time >TO_DATE ('2004-1-28', 'yyyy-mm-dd')
    类似的语句都改,union all一样要用.用了比or效率高,再分析以下你的需求,看看是不是可以把子查询去掉.