MS SQL入门基础:创建索引
2007-01-03 09:19:42 来源:WEB开发网指定填充索引的内部节点的行数,至少应大于等于两行。PAD_INDEX 选项只有在FILLFACTOR 选项指定后才起作用。因为PAD_INDEX 使用与FILLFACTOR 相同的百分比。缺省时,SQL Server 确保每个索引页至少有能容纳一条最大索引行数据的空闲空间。如果FILLFACTOR 指定的百分比不够容纳一行数据S,QL Server 会自动内部更改百分比。 FILLFACTOR = fillfactor
FILLFACTOR 称为填充因子,它指定创建索引时,每个索引页的数据占索引页大小的百分比,fillfactor 的值为1 到100。它其实同时指出了索引页保留的自由空间占索引页大小的百分比。即100 - fillfactor。 对于那些频繁进行大量数据插入或删除的表在建索引时应该为将来生成的索引数据预留较大的空间,即将fillfactor 设得较小,否则,索引页会因数据的插入而很快填满,并产生分页,而分页会大大增加系统的开销。但如果设得过小,又会浪费大量的磁盘空间,降低查询性能。因此,对于此类表通常设一个大约为10 的fillfactor。 而对于数据不更改的、高并发的、只读的表,fillfactor 可以设到95 以上乃至100。
如果没有指定此选项,SQL Server 默认其值为0 。0 是个特殊值,与其它小FILLFACTOR
值(如:1,2)的意义不同,其叶节点页被完全填满,而在索引页中还有一些空间。可以
用存储过程Sp_configure 来改变默认的FILLFACTOR 值。 IGNORE_DUP_KEY
此选项控制了当往包含于一个惟一约束中的列中插入重复数据时SQL Server 所作的反应。当选择此选项时,SQL Server 返回一个错误信息,跳过此行数据的插入,继续执行下面的插入数据的操作:当没选择此选项时,SQL Server 不仅会返回一个错误信息,还会回滚(Rolls Back)整个INSERT 语句(关于回滚,请参见“数据库更新”章节中的“事务”一节)。 DROP_EXISTING
更多精彩
赞助商链接