本帖最后由 u014057137 于 2014-03-12 15:08:23 编辑

解决方案 »

  1.   

    这个从效率上来说,因素很多,看具体执行计划,是否走索引。
    正常习惯我是喜欢将多个or改写成union来使用。但是在走索引的时候,其实还是or的效率高一些。
    所以个人认为不固定,看具体环境下那个快用哪个呗。。
      

  2.   

    就是由于cost估算的不够准确,以及统计信息的不完整例如当你用where a=1 or a=2时,cbo判断走a的索引并不合适,走全表扫描更好
    当改写成 select ... from ... where a=1 union all select ... from .. where a=2
    这是两个语句的拼接,各自有自己的执行计划,走a字段的索引就在情理之中当条件更复杂的时候,cbo的误判就可能更加严重
      

  3.   

    good good study,day day up.