語句二:select * from pr04_pr05_su_jiao_原材料 with (nolock) where pr0501 like '%YMU5008' and pr0408 = '005' order by pr0504,pr0503 語句一:select * from pr04_pr05_su_jiao_原材料 with (nolock) where pr0501='YMU5008' and pr0408 = '005' order by pr0504,pr0503 )你改变一下顺序,在测试一边看看:-)

解决方案 »

  1.   

    語句一:select * from pr04_pr05_su_jiao_原材料 with (nolock) where pr0501='YMU5008' and pr0408 = '005' order by pr0504,pr0503 )語句二:select * from pr04_pr05_su_jiao_原材料 with (nolock) where pr0501 like '%YMU5008' and pr0408 = '005' order by pr0504,pr0503 这主要是从是否能利用索引来考虑的,假设表建立了pr0501,pr0408的索引
    则第一句会利用索引,而第二句不会,因为第二句的like比较中,第一个是通配符,从而无法确定从那个位置开始检索数据.
      

  2.   

    我不是让你试试改变顺序么?这是因为語句二用了語句一的执行规划,你改变顺序测试一下或在运行語句二是从新启动SQLSERVER在试试看。这样的情况就不会发生了。
    理论上不会!
    实际也不会!
      

  3.   

    把“ and pr0408 = '005' ”删除掉,再试试。