索引学习笔记

SQL Server admin 111℃ 0评论

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2173

 

以下两种情况下总会使用索引顺序扫描:

当执行计划显示Index Scan,Ordered属性为True时

当执行计划显示Index Scan,Ordered属性为False,而且环境是可读写的,隔离级别不是未提交读

1

2

由于在扫描期间发生页拆分,分配顺序扫描可能在结果中多次返回某些行,也可能忽略掉某些行。插入一个新行,对索引键进行更新都可以导致页拆分,让行发生移动:对可变长度的列进行更新,对行进行扩展,也可以导致页拆分。记住,拆分只在索引页中进行,堆中的不会发生拆分。因此,堆上不会出现这种现象。

 

分配顺序扫描容易由于页拆分而进行不一致的读取,而索引顺序扫描则不会,存储引擎对这一事实了如指掌。对于两种情况之一下的分配顺序扫描(这里的“两种情况”是指结果中可能多次返回某些行,也可能忽略掉某些行。还是指安全的扫描类型、不安全的扫描类型),存储引擎还会执行一次Index Scan(Ordered:False)扫描。后面会将这两种情况分别称为不安全的扫描类型和安全的扫描类型。

 

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2173

转载请注明:森大科技官方博客 » 索引学习笔记

喜欢 (2)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址