本帖最后由 ghost2876 于 2011-02-10 17:32:08 编辑

解决方案 »

  1.   

        就是说,我们在判定两个SQL哪个执行效率高的时候,可以依据执行计划的Cost即查询单元,作为判定的依据吗?那为什么这里后者经过优化SQL的查询单元>前者未经过优化SQL的查询单元,而实际执行起来后者要比前者快?    请教大家帮忙讲解。谢谢!
      

  2.   

    1,sql的执行计划并不是说cost越多,所消耗的时间越来哦。
    2,你后面的SQL和前面的那个执行计划是没有变化的,至于时间少了是因为你开始已经运行了此SQL,查询过程还保留在缓冲区里面,再次运行的查询时间肯定会少;能否说出DM_EPOS_SALE_DETAIL     a,
           dm_allnode_for_epos     b,
           dm_shop_sample          c
    这3个表大概的数据量和这个3个表都在那些字段上建索引?
      

  3.   

    不能绝对的看待cost值而且1091.047比较1060.172而言   这个不叫优化啊~    30/1000 才快了3%,这对用户体验来说 没区别
      

  4.   

    你的这些时间是多次查询取得平均值还是只查了一次?
    3%在误差范围内,不能说明后边的sql被优化了