SqlServer填充因子的说明

上传人:小** 文档编号:222623474 上传时间:2023-07-11 格式:DOC 页数:3 大小:23KB
收藏 版权申诉 举报 下载
SqlServer填充因子的说明_第1页
第1页 / 共3页
SqlServer填充因子的说明_第2页
第2页 / 共3页
SqlServer填充因子的说明_第3页
第3页 / 共3页
资源描述:

《SqlServer填充因子的说明》由会员分享,可在线阅读,更多相关《SqlServer填充因子的说明(3页珍藏版)》请在装配图网上搜索。

1、fillfactCREATENONCLUSTEREDINDEXIX_d_nameONdepartment(d_name)withor=30使用fillfactor选项可以指定MicrosoftSQLServer2005使用现有数据创建新索引时将每页填满到什么程度。由于在页填充时SQLServer必须花时间来拆分页,因此填充因子会影响性能。仅在创建或重新生成索引时使用填充因子。页面不会维护在任何特定的填充水平上。fillfactor的默认值为0,有效值介于0和100之间。FILLFACTOR设置为0或100时,叶级别几乎完全填满,但至少会保留一个其他索引行的空间。这样设置后,叶级别空间会得到有效

2、利用,而且仍有空间可以在必须拆分页之前进行有限扩展。很少需要更改fillfactor的默认值,因为可以使用CREATEINDEX或ALTERINDEXREBUILD语句来覆盖其对于指定索引的值。注意:填充因子的值0和100在所有方面都是相同的。fillfactor选项是一个高级选项。如果使用sp_configure系统存储过程来更改该设置,则只有在showadvaneedoptions设置为1时才能更改fillfactor。设置在重新启动服务器后生效。提供填充因子选项是为了优化索引数据存储和性能。当创建或重新生成索引时,填充因子值可确定每个叶级页上要填充数据的空间百分比,以便保留一定百分比的可

3、用空间供以后扩展索引。例如,指定填充因子的值为80表示每个叶级页上将有20%的空间保留为空,以便随着在基础表中添加数据而为扩展索引提供空间。填充因子值是1到100之间的一个百分比。在大多数情况下,服务器范围的默认值0是最佳选项。如果将填充因子设置为0,将几乎最大限度地填充叶级页,但是至少会留出再添加一个索引行的空间。使用此设置可有效使用叶级空间,但应保留一定的空间以便在不得不拆分页之前进行有限的扩展。可以使用CREATEINDEX或ALTERINDEX语句来设置各个索引的填充因子值。若要修改服务器范围的默认值,请使用sp_configure系统存储过程。若要查看一个或多个索引的填充因子值,请使

4、用sys.indexes目录视图。重要事项:只有在创建或重新生成了索引后,才会应用填充因子。SQLServer2005DatabaseEngine并不会在页中动态保持指定的可用空间百分比。如果试图在数据页上保持额外的空间,将有背于使用填充因子的本意,因为随着数据的输入,数据库引擎将不得不在每个页上进行页拆分,以保持填充因子所指定的可用空间百分比。-页拆分和性能注意事项如果向已满的索引页添加新行,数据库引擎将把大约一半的行移到新页中以便为该新行腾出空间。这种重组称为页拆分。页拆分可为新记录腾出空间,但是执行页拆分可能需要花费一定的时间,此操作会消耗大量资源。此外,它还可能造成碎片,从而导致I/O

5、操作增加。正确选择填充因子值可提供足够的空间以便随着向基础表中添加数据而扩展索引,从而减少页拆分可能性。如果经常发生页拆分,可通过使用新的或现有的填充因子值来重新生成索引,从而重新分发数据。索引重建Sql举例:ALTERINDEXALLONdbo.XS_XJREBUILDWITH(FILLFACTOR=80,SORT_IN_TEMPDB=ON,STATISTICS_NORECOMPUTE=ON);这表示对XS_XJ表上的所有索引,重新生成,填充因子是80ALTERINDEXIndex_XS_XJ_XHONdbo.XS_XJREBUILDWITH(FILLFACTOR=80,SORT_IN_TE

6、MPDB=ON,STATISTICS_NORECOMPUTE=ON);这表示对XS_XJ表上的Index_XS_XJ_XH索引,重新生成,填充因子是80尽管采用较低的填充因子值(非0)可减少随着索引增长而拆分页的需求,但是索引将需要更多的存储空间,并且会降低读取性能。即使对于面向许多插入和更新操作的应用程序,数据库读取次数一般也超过数据库写入次数的5到10倍。因此,指定一个不同于默认值的填充因子会降低数据库的读取性能,而降低量与填充因子设置的值成反比。例如,当填充因子的值为50时,数据库的读取性能会降低两倍。读取性能降低是因为索引包含较多的页,因此增加了检索数据所需的磁盘I/O操作。举例说明打

7、个比方,为了给一个班的100个同学排一下顺序,我们可以给每一位同学一个编号,如:a.从1,2,3,4,5,6,7,100。这时,我们说填充因子是100.此时,如果又来了新同学,而其排名要在中间某位置的话,我们就要改变许多个同学的号码,如新同学排5号,就需要将5号以后的同学号码都加1才行.b我们又可以给同学这样编号:10,20,30,40,50,60,701000也同样完成了顺序的排列.我们说这时填充因子是0,此时如果来了新同学,又是排在第七位的话,那么我们只许将其号码编为65就行了.其它同学都不用变.可以看出,填充因子大的时候,点用的号码空间小,耗费资源少,小的时候呢,占用资源加大,但操作方便,迅速.所以,在SQL2000O中索引的填充因子就是这个道理,填充因子大的时候,插入或修改记录后重新索引的工作会很大,磁盘10操作增加,性能必然降,但其占用空间小.填充因子小的时候呢,索引文件占用磁盘及内存空间相对要大,但是,系统身重新索引所需IO操作减少,性能提高,只是多占用一些存储空间.个人建议创建索引时,填充因子可以设置一个较高的值,例如:90以上。这样可以避免索引拆分的页数变多,提高IO性能,但可能带来索引碎片的增加,我们可以建立一个维护计划,定期重建数据表上的索引,消除索引碎片,从而提高索引扫描效率和数据的读取效率

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!