码迷,mamicode.com
首页 > 数据库 > 详细

【译】索引进阶(十二):SQL SERVER中的索引碎片【下篇】

时间:2019-04-02 14:09:14      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:指定   扫描   重建索引   期望   select   一个   包含   font   应用   

为了讨论碎片产生的原因,以及避免和移除索引碎片的技术,我们必须从本进阶系列后续将介绍的两个章节借用一些知识点:创建/更新索引的知识,以及向一个索引表插入数据行的相关知识。

当我们讲解这些信息的时候,记住本节背景部分提到的内容,仅当你的应用是进行索引扫描时,碎片是不被期望的(不管是索引的完全扫描还是部分扫描)。当你的应用程序仅仅返回一个索引键值的少量数目的条目时,碎片其实并不是个问题。如同列表3所示的5行数据的查询。

SELECT *
FROM Sales.SalesOrderDetail
WHERE SalesOrderID = 56080;
GO

  列表3:一个高选择性的查询

 当你在一个已经填充了数据行的表上创建或者重建索引的时候,会发生磁盘空间的重分配,导致了一几乎不包含外部碎片的索引。内部碎片的数值取决于你为 FILLFACTOR选项指定的值,它决定了页的覆盖率。在后续的数据更新中,SQL SERVER不会做任何努力来包含这种页覆盖率,随着数据行被插入表,结果条目会被插入索引页中,这些页会变得更加饱和。

 

【译】索引进阶(十二):SQL SERVER中的索引碎片【下篇】

标签:指定   扫描   重建索引   期望   select   一个   包含   font   应用   

原文地址:https://www.cnblogs.com/qianxingmu/p/10642225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!