1
我们计划在我们的应用程序中定期运行索引重建/重组。重组/重建单索引与所有表索引
我们知道,当索引碎片超过5%时,我们应该重新组织,当它超过30%时重建。
我们只是想知道我们是否应重组/重建:
这是在桌子上零散- 只有特定的索引(ALTER INDEX {名} ON ...)
- 在表上的所有索引( ALTER INDEX ALL ON ...)如果至少存在一个索引碎片
您会发现哪种方法更好?
我们计划在我们的应用程序中定期运行索引重建/重组。重组/重建单索引与所有表索引
我们知道,当索引碎片超过5%时,我们应该重新组织,当它超过30%时重建。
我们只是想知道我们是否应重组/重建:
这是在桌子上零散您会发现哪种方法更好?
我不知道为什么SQL Server没有内置此类操作的任何内容,但我最近使用了Ola Hallengren
编写的脚本进行索引维护,我不得不说它是最漂亮的一段代码I已经碰到,也是免费的。
脚本有一些很酷的功能。
它与SQL Server的所有版本兼容的2005年,2008年,2012年,2014年和2016年
它reorgs索引时,碎片是低于30%,否则重建索引。您也可以通过参数更改此阈值。
它检查SQL Server许可证,如果是Enterprise,它将在线重建索引,否则它会脱机重建索引。
我的意思是名单继续,其绝对值得检查。
你可以从这里SQL Server Index and Statistics Maintenance" by Ola Hallengren"
拿到剧本,我认为第一个选项是更好 –
谢谢@Prdp。你能解释一下为什么?从逻辑的角度来看,对我来说似乎也更好(只重组发生了什么问题,并让其他人保持原样),但使用一些MS最佳实践来确认它会很好。 – jabko87