把distinct去掉,然后比较去黑色和不去黑色效率差异大不。如果去掉distinct 后, 有没有黑色部分效率差异不大,就是实际数据引起的。

解决方案 »

  1.   

    为什么去掉颜色加深部份,速度就变得很快,但是同一张视图,在其他的库里,执行速度就很快.真是怪事,有人说,是索引坏了,但我跟本没有加索引,其实我知道问题出在最后一个left中,但光执行left后面的这个,速度也很快的,真是奇了个怪了,各位朋友有没有碰到这样的问题呀?
      

  2.   

    我不是让你去。而是让你去掉distinct然后比较  有黑字和无黑字两种情况下效率的差别。如果这时,二者区别不大,就可以确定是数据的问题。
      

  3.   

    试试Database Engine Tuning Advisor(DTA),看有没有推荐的优化方法.
      

  4.   

    兄弟呀,可不可以讲得具体点,并不是很清楚你的想法?你不是说,进行sql跟踪?
      

  5.   


    --先执行
    SET SHOWPLAN_ALL ON--然后再执行你的语句
      

  6.   

    select *from v_zcdd_kh where  1=1 and (pc_ssbm='1002') and gzs=0 and d_bdrq>='2008-5-1' and d_id in (select d_id from v_zcxx where 1=1 and (pc_ssbm='1002') and gzs=0 and d_bdrq>='2008-5-1')select *from v_zcdd_kh where  1=1 and (pc_ssbm='1002') and gzs=0 and d_bdrq>='2008-5-1' and exists (select 1 from v_zcxx where v_zcxx.d_id=v_zcdd_kh.d_id and v_zcxx.pc_id=v_zcdd_kh.pc_id and (pc_ssbm='1002') and gzs=0 and d_bdrq>='2008-5-1')想问一下,这两句的执行速度如何,我以前是用上面这个的,但想试一下exists,不知道这样写对不对?