SQL Server 2005 扫描计数产生原因分析(2)

  上一次我们分析了两种写法不一样,产生的扫描计数差别很大,一个为3,一个为0,我们先看看后面的sql语句执行计划:

 

 

 

    执行计划解释:

      1,这里有两个合并排序,就是对3个id数据排序,通过合并算法排序(这里为何要用合并排序算法,我们在另一节中讨论)

      2,通过排序后的数据,一次使用嵌套循环取出对应的索引值,一共循环三次。(嵌套循环算法将在另一节中讨论)

      3,通过循环找到索引键值后,数据库也就找到了对应的行RID,这时通过嵌套循环找到行数据。

  

     我们发现这时,索引和行数据查找是分开的。,也就是说找到索引和找到数据是分开的。这时扫描计数为0

     我们还可以使用索引覆盖查找和表扫描,也都有扫描计数

 

   通过上面的例子,总接一下:

       扫描计数:数据库连续完整的找到一部分数据的次数。    

 

     以上是个人观点,如有错误请批评指正,一起学习进步!!!

 

posted @ 2008-07-22 21:10  zping  阅读(2102)  评论(1编辑  收藏  举报