加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MSSQL 重新生成索引,重新组织索引

发布时间:2023-05-06 13:13:13 所属栏目:MsSql教程 来源:
导读:> 5% 且 < = 30%

ALTER INDEX REORGANIZE

> 30%

ALTER INDEX REBUILD WITH (ONLINE = ON)*

* 重新生成索引可以联机执行,也可以脱机执行。重新组织索引始终联机执行。若要获得与重新组织选项相似的可用性
> 5% 且 < = 30%

ALTER INDEX REORGANIZE

> 30%

ALTER INDEX REBUILD WITH (ONLINE = ON)*

* 重新生成索引可以联机执行,也可以脱机执行。重新组织索引始终联机执行。若要获得与重新组织选项相似的可用性,应联机重新生成索引。

这些值提供了一个大致指导原则,用于确定应在 ALTER INDEX REORGANIZE 和 ALTER INDEX REBUILD 之间进行切换的点。不过,实际值可能会随情况而变化。必须要通过试验来确定最适合您环境的阈值。

非常低的碎片级别(小于 5%)不应通过这些命令来解决,因为删除如此少量的碎片所获得的收益始终远低于重新组织或重新生成索引的开销。

注:rebuild和rebuild online的区别

1、当rebuild 时一般对原先索引进行INDEX FAST FULL SCAN。

2、当rebuild online的时不用原先索引而执行TABLE ACCESS FULL

3、rebuild和rebuild online都会发生sort,即需要用到temp表空间。

4、rebuild 会阻塞dml(curd等)语句而rebuild online则不会。

5、rebuild online时系统会产生一个SYS_JOURNAL_xxx的IOT类型的系统临时日志表,所有rebuild online时索引的变化都记录在这个表中,当新的索引创建完成后,把这个表的记录维护到新的索引中去,然后drop掉旧的索引,rebuild online就完成了。

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章