数据库索引中的填充因子

原创 2007年09月12日 18:04:00

在创建聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的数据页中。在表中插入新的数据行或更改索引列中的值时,Microsoft®   SQL   Server™   2000   可能必须重新组织表中的数据存储,以便为新行腾出空间,保持数据的有序存储。这同样适用于非聚集索引。添加或更改数据时,SQL   Server   可能不得不重新组织非聚集索引页中的数据存储。向一个已满的索引页添加某个新行时,SQL   Server   把大约一半的行移到新页中以便为新行腾出空间。这种重组称为页拆分。页拆分会降低性能并使表中的数据存储产生碎片。Top

创建索引时,可以指定一个填充因子,以便在索引的每个叶级页上留出额外的间隙和保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因子的值是从   0   到   100   的百分比数值,指定在创建索引后对数据页的填充比例。值为   100   时表示页将填满,所留出的存储空间量最小。只有当不会对数据进行更改时(例如,在只读表中)才会使用此设置。值越小则数据页上的空闲空间越大,这样可以减少在索引增长过程中对数据页进行拆分的需要,但需要更多的存储空间。当表中数据会发生更改时,这种设置更为适当。  
   
  提供填充因子选项是为了对性能进行微调。但是,使用   sp_configure   系统存储过程指定的服务器范围的默认填充因子,在大多数情况下都是最佳的选择。    
   
   
   
  说明     即使对于一个面向许多插入和更新操作的应用程序来说,数据库读取次数一般也超过数据库写入次数的   5   到   10   倍。因此,指定一个不同于默认设置的填充因子会降低数据库的读取性能,而降低量与填充因子设置值成反比。例如,当填充因子的值为   50%   时,数据库的读取性能会降低两倍。  
   
   
  只有当在表中根据现有数据创建新索引,并且可以精确预见将来会对这些数据进行哪些更改时,将填充因子选项设置为另一个值才有用。  
   
  填充因子只在创建索引时执行;索引创建后,当表中进行数据的添加、删除或更新时,不会保持填充因子。如果试图在数据页上保持额外的空间,则将有背于使用填充因子的本意,因为随着数据的输入,SQL   Server   必须在每个页上进行页拆分,以保持填充因子指定的空闲空间百分比。因此,如果表中的数据进行了较大的变动,添加了新数据,可以填充数据页的空闲空间。在这种情况下,可以重新创建索引,重新指定填充因子,以重新分布数据。 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

填充因子设置的一般性准则和指导

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

SqlServer 碎片与填充因子

在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节 在SQL Server中,比页更大的单位是区(Extent).一个区可以容纳8个页.区作为磁盘分配的物理单元.所...

sql填充因子

  • 2012-09-19 17:55
  • 10KB
  • 下载

DBA_INDEXES.CLUSTERING_FACTOR 索引的群集因子初探

http://space.itpub.net/?uid-7728585-action-viewspace-itemid-612691 先引出ORACLE WAIT INTERFACE中的原话: ...

索引选择性 集群因子 高度

选择性 索引列上不同值的个数决定索引的选择性,索引选择性越高,索引值平均返回的行数就越少,使用索引的成本也就越低,主键或者唯一约束列选择性是最高的,在索引的叶块上,每个索引值只对应一个rowid,所以...

聚簇因子对于索引的影响

一、官方文档说明 1、基本概念 Index Clustering Factor           Fora B-tree index, the index clustering factor...

DB2数据库查询过程(Query Processing)----统计信息与过滤因子(Statistics and Filter Factors)

关于统计信息和过滤因子在《DB2数据库查询过程(Query Processing)----概述》一文中已经作了大致介绍。本文再详细讨论一下。 过滤因子(Filter Factor) 过滤因子是...
  • idber
  • idber
  • 2012-11-14 14:54
  • 2507

关于各种转录因子的数据库

1 、 TRANSFAC ( http://www.gene-regulation.com/pub/databases.html#transfac) 德国生物工程研究所开发的 TRANSFAC ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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