怎么让两个sql的执行计划一致?

解决方案 »

  1.   

    ORACLE版本?优化器模式?涉及到的表结构?
      

  2.   

    表是否做过stat会关系到用不用索引。
      

  3.   

    现在是一边用的索引是对的,另外一边用了错误的索引,这个表上有多个索引
    SQL查询是两个表的关联select M.ColA, sum(M.ColValue)
    from 
       TableM M,
       TableN N
    where N.ColB = M.ColB and N.ColC = 常量
    group by M.ColA;M表上有单按ColA的索引,也有单按ColB的索引
    N表上有ColB,ColC的联合索引正确的执行应该是先按N上的联合索引,再按M表的ColA上的索引;
    但现在一边服务器是正确的。另外一台服务器用的N索引正确,M索引用的是ColB上的索引
      

  4.   

    做一个10053 trace,然后把trace帖出来。