索引填充因子

转载 2007年10月07日 14:06:00
导读:
索引填充因子
        在创建聚集索引和非聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的
  数据页中。在表中插入新的数据行或更改索引列中的值时, SQL Server 2000 可能必须重
  新组织表中的数据存储,以便为新行腾出空间,保持数据的有序存储。向一个已满的索引页
  添加某个新行时,SQL Server 把大约一半的行移到新页中以便为新行腾出空间。这种重组
  称为页拆分
  。页拆分会降低性能并使表中的数据存储产生碎片。
  创建索引时,可以指定一个填充因子
  ,以便在索引的每个叶级页上留出额外的间隙和
  保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因
  子的值是从 0 到 100 的百分比数值,指定在创建索引后对数据页的填充比例。值为 100 时
  表示页将填满,所留出的存储空间量最小。只有当不会对数据进行更改时(例如,在只读表
  中)才会使用此设置。值越小则数据页上的空闲空间越大,这样可以减少在索引增长过程中
  对数据页进行拆分的需要,但需要更多的存储空间。当表中数据会发生更改时,这种设置更
  为适当。
  提供填充因子选项是为了对性能进行微调。但是,使用 sp_configure 系统存储过程指
  定的服务器范围的默认填充因子,在大多数情况下都是最佳的选择。
        即使对于一个面向许多插入和更新操作的应用程序来说,数据库读取次数一般也超过
  数据库写入次数的 5 到 10 倍。因此,指定一个不同于默认设置的填充因子会降低数据库
  的读取性能,而降低量与填充因子设置值成反比。
  只有当在表中根据现有数据创建新索引,并且可以精确预见将来会对这些数据进行哪些
  更改时,将填充因子选项设置为另一个值才有用。
  填充因子只在创建索引时执行;索引创建后,当表中进行数据的添加、删除或更新时,
  不会保持填充因子。如果试图在数据页上保持额外的空间,则将有背于使用填充因子的本意,
  因为随着数据的输入,SQL Server 必须在每个页上进行页拆分,以保持填充因子指定的空
  闲空间百分比。因此,如果表中的数据进行了较大的变动,添加了新数据,可以填充数据页
  的空闲空间。在这种情况下,可以重新创建索引,重新指定填充因子,以重新分布数据。
          请思考索引的数据结构有哪些?可否指定索引的数据结构?如果不可以,请说明为什
  么?如果可以,请说明你的操作过程或 SQL 操作。
  答:索引的数据结构有 B+树和哈希表。不可以指定索引的数据结构,这是由系统自动
  指定的。
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1726940
        本文转自
http://blog.csdn.net/ljsql/archive/2007/08/05/1726940.aspx  

索引以及填充因子设置

1.DBCC INDEXDEFRAG,DBCC DBREINDEX2.只有不会出现 INSERT 或 UPDATE 语句时(例如对只读表),才可以使用 FILLFACTOR 100。如果 FILLFA...
  • shaken
  • shaken
  • 2004年08月11日 06:43
  • 1657

sql索引的填充因子多少最好,填充因子有什么用

和索引重建最相关的是填充因子。当创建一个新索引,或重建一个存在的索引时,你可以指定一个填充因子,它是在索引创建时索引里的数据页被填充的数量。填充因子设置为100意味着每个索引页100%填满,50%意味...
  • silentmuh
  • silentmuh
  • 2015年12月25日 14:57
  • 457

SQL Server索引中的碎片和填充因子

简介     在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图:     ...
  • kk185800961
  • kk185800961
  • 2013年09月11日 22:27
  • 1071

索引填充因子

索引填充因子         在创建聚集索引和非聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的数据页中。在表中插入新的数据行或更改索引列中的值时, SQL Server  2000  可能...
  • ljsql
  • ljsql
  • 2007年08月05日 12:57
  • 2849

sql server 2000中创建索引时的填充因子fillfactor

PAD_INDEXSpecifies the space to leave open on each page (node) in the intermediate levels of the i...
  • andkylee
  • andkylee
  • 2010年08月06日 14:29
  • 1812

SQL Server索引的维护 - 索引碎片、填充因子 <第三篇>

关于索引的一些优化点和解释:http://www.cnblogs.com/kissdodog/archive/2013/06/14/3135412.html...
  • yan_seven
  • yan_seven
  • 2017年06月01日 14:13
  • 181

B+树索引算法

B+树是B树的变体,也是一种多路搜索树 1.非叶子节点的子树指针与关键字个数相同; 2.为所有叶子节点增加一个链指针; 3.所有关键字都在叶子节点出现; B+树插入新元素时,可能会遇到3种...
  • wei_wenbo
  • wei_wenbo
  • 2016年03月07日 15:23
  • 147

B+树介绍

B+树 B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已...
  • dz45693
  • dz45693
  • 2017年11月28日 18:50
  • 680

MongoDB填充因子和更新优化

MongoDB填充因子(padding factor)是MongoDB为文档的扩展而预留的增长空间,因为MongoDB的文档是以顺序表的方式存储的,每个文档之间会非常紧凑。 如图,元素之间没有多...
  • yx0628
  • yx0628
  • 2018年01月13日 17:40
  • 124

索引的填充因子

创建索引时,可以指定一个填充因子,以便在索引的每个叶级页上留出额外的间隙和保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因子的值是从   0   到   100   的...
  • xiaotengyi2012
  • xiaotengyi2012
  • 2014年02月18日 00:18
  • 730
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:索引填充因子
举报原因:
原因补充:

(最多只允许输入30个字)