SQL Server 索引创建与管理全解析
1. 索引列与名称选择
在创建索引时,选择索引的名称和要包含的列相对简单。首先要考虑的是列是否包含唯一或几乎唯一的值。例如,姓氏和邮政编码组合,虽然可能存在相同姓氏且在同一邮政编码区域的人,但能从大表中筛选出较小的列表,所以是不错的选择,姓氏或电话号码组合同理。
2. 填充因子(Fill Factor)
填充因子位于填充规范区域,它告知 SQL Server 在开始新的数据页来继续存储索引之前,一个数据页应填充多少索引数据。在创建索引时,需预留一些空间用于插入新数据。由于无法预知新客户加入的时间,很难得到完美的填充因子值,但可以进行合理估算。
SQL Server 中一个数据页大小为 8KB。假设已构建的索引大小最大为 ePaRWPa%&/8(;Pbc=P\T 为 ePaRWPa%$/8,IX_2^ST 为 ePaRWPa%!/8),为了准确估算,可在创建表时若已知填充数据,就取表中数据的平均值;若未知,则基于一组随机数据进行估算。假设根据已知的一组随机 ;Pbc=P\T 和 IX_2^ST 数据,得出平均索引宽度为 32 字节,每个索引值还需额外添加 1 字节供 SQL Server 使用。此外,每个索引页开头有 96 字节供 SQL Server 内部使用。一个完整的索引页可容纳的索引行数为(8192 - 96)/ 33,约为 245 行。
若填充因子为 80%,即 80% 满,在创建或重建索引时,每页将有 196 行索引数据。这意味着在两次索引重建之间,预计会插入 49 行新数据,这个数值较大,填充因子可能设置过低。填充因子设为 90% 或许是更好的选择,这样在 SQL Serv
超级会员免费看
订阅专栏 解锁全文
4419

被折叠的 条评论
为什么被折叠?



