永发信息网

如何检查SQL Server索引填充因子

答案:1  悬赏:60  手机版
解决时间 2021-11-13 21:14
如何检查SQL Server索引填充因子
最佳答案
这是收藏的一些资料:

SQLServer提供了一个数据库命令――DBCC SHOWCONTIG――来确定一个指定的表或索引是否有碎片。
示例:
显示数据库里所有索引的碎片信息
DBCC SHOWCONTIG WITH ALL_INDEXES

显示指定表的所有索引的碎片信息
DBCC SHOWCONTIG (authors) WITH ALL_INDEXES

显示指定索引的碎片信息
DBCC SHOWCONTIG (authors,aunmind)

DBCC 执行结果:
扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索引里的页数。看看扫描页数,如果明显比你估计的页数要高,说明存在内部碎片。

扫描扩展盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC SHOWCONTIG返回的扫描扩展盘区数一致。如果DBCC SHOWCONTIG返回的数高,说明存在外部碎片。碎片的严重程度依赖于刚才显示的值比估计值高多少。

扩展盘区开关数:该数应该等于扫描扩展盘区数减1。高了则说明有外部碎片。

每个扩展盘区上的平均页数:该数是扫描页数除以扫描扩展盘区数,一般是8。小于8说明有外部碎片。

扫描密度[最佳值:实际值]:DBCC SHOWCONTIG返回最有用的一个百分比。这是扩展盘区的最佳值和实际值的比率。该百分比应该尽可能靠近100%。低了则说明有外部碎片。

逻辑扫描碎片:无序页的百分比。该百分比应该在0%到10%之间,高了则说明有外部碎片。

扩展盘区扫描碎片:无序扩展盘区在扫描索引叶级页中所占的百分比。该百分比应该是0%,高了则说明有外部碎片。

每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高说明有内部碎片,不过在你用这个数字决定是否有内部碎片之前,应该考虑fill factor(填充因子)。

平均页密度(完整):每页上的平均可用字节数的百分比的相反数。低的百分比说明有内部碎片。

解决碎片问题 :
1. 删除并重建索引
2. 使用DROP_EXISTING子句重建索引
3. 执行DBCC DBREINDEX
4. 执行DBCC INDEXDEFRAG

删除并重建索引 :

用DROP INDEX和CREATE INDEX或ALTER TABLE来删除并重建索引有些缺陷包括在删除重建期间索引会消失。在索引删除重建时,对于查询它不在可用,查询性能也许会受到明显的影响,直到重建索引为止。另一个潜在的缺陷是当都请求索引的时候会引起阻塞,直到重建索引为止。通过其他的处理也能解决阻塞,就是索引被使用的时候不删除索引。另一个主要的缺陷是在用DROP INDEX和CREATE INDEX重建聚集索引时会引起非聚集索引重建两次。删除聚集索引时非聚集索引的行指针会指向数据堆,聚集索引重建时非聚集索引的行指针又会指回聚集索引的行位置。

删除并重建索引的确有一个好处就是通过重新排序索引页,使索引页紧凑并删除不需要的索引页来完全重建索引。你也许需要考虑那些内部和外部碎片都很高的情况下才使用,以使那些索引回到它们应该在的位置。

使用DROP_EXISTING子句重建索引 :

为了避免在重建聚集索引时表上的非聚集索引重建两次,可以使用带DROP_EXISTING子句的CREATE INDEX语句。这个子句会保留聚集索引键值,以避免非聚集索引重建两次。和删除并重建索引一样,该方法也可能会引起阻塞和索引消失的问题。该方法的另一个缺陷是也强迫你去分别发现和修复表上的每一个索引。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的世界tellraw等的json怎么插入转义字符比
女孩下面长得都不一样吗?我的应什么样的呢?
请问这是什么?
宋之韵中提到的所有宋词
如果一个男孩老是和一个女孩抬杠这说明什么啊
白红黑绿混起来什么颜色的
融润汽贸地址有知道的么?有点事想过去!
给我的QQ头像取个超好听的昵称吧!
口前哪有中国移动沟通100的营业厅
腰疼躺在那床上应该躺什么样的姿势帮助腰部恢
暴风怎么样呢,现在速度怎么样,卡不卡
高温后的第一场雨心情
850克是9.8元,一斤是多
中国足球史上著名的5.19 中国国家队教练是谁
几个小孩子一起玩,某大人拿来东西给他们吃就
推荐资讯
课文为什么以“用心去倾听”为题,全文寄托了
nfa 12v8a汽车电瓶充电器蓄电池充电机12伏智
同在差不多的纬度上,为什么同样是冬天,休斯
如何减少GSM网短信延迟情况的发生
广西高考理科430分能上什么本科学校
鸡年取名田梓宸名字好吗?
中国邮政储蓄银行24小时自助银行(普安镇支行)
赤壁到温泉最早班车几点
word中如何将A4横向的二页内容打印在一张A3纵
楼顶大字的名称还有那些?
忘了屈臣氏卡的密码怎么办
求1-50正整数的和
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?