各个步骤的百分比加起来是100%
其余的步骤的百分比应该是会上去的如果把鼠标点在执行计划的某个运算符上,可以看到有个成本(cost)的值,百分比就是按这个值来算的

解决方案 »

  1.   

    邹老大回复我的原话:
    执行计划, 简单地说, 可以这样看的:
    1. 看有没有缺失索引之类, 这个在 SQL 2005 及之后的版本很是一目了然
    2. 看执行计划的资源开销最大的那些结点(同时也观察一下执行计划的复杂性), 太复杂的执行计划, 考虑先把开销比较大的部分拿出来单独查询, 分析这部分的执行计划;如果是简单的执行计划, 那就是评估这些结点在做什么, 通常考虑条件,输出列和输出记录数, 看这些部分有没有可以调整的地方, 比如说按照那个查询条件, 满足条件的记录数很少, 但执行计划显示记录数很多, 那么可能是统计信息没有更新,或者是准确性有问题, 考虑统计信息;或者说, 你看到的该结眯的条件中, 有转换数据类型这样的保长, 那可能是条件的数据类型定义有问题
    3. 执行计划中关注一下有没有走索引, 如果走索引, 是 SEEK 的方式, 还是 SCAN 的方式, 如果没有走索引, 或者是走的 SCAN 方式, 那么应该分析看是否索引方面有待改进
    4. 执行计划中关注一下, 有没有同一个对象出现在多个结点中, 结合你的查询语句, 如果查询中没有多次引用同一个对象, 但执行计划中反馈是多次引用, 那么需要看这些引用到底是做什么, 是否有可以合并的地方
    5. 结合数据和查询, 判断一下执行计划中, 各个结点的优先顺序是否是合理的, 比如某个条件可以大量过滤数据, 是否执行计划中反而它被放到最后面才去执行
    当然,自己参详,别过于完全接受
      

  2.   

    执行计划是你认为QO应该怎么做才是最优或者比较忧的,如果QO没有按照你的设想去做,然后再去分析QO为什么没有这样做的原因的一个过程。