首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引碎片整理脚本

索引碎片整理脚本
EN

Stack Overflow用户
提问于 2018-01-29 18:59:20
回答 1查看 81关注 0票数 0

请,需要帮助运行索引维护脚本。

我正在使用本教程的https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

我下载了这个脚本,在我的数据库上运行它,然后使用我的数据库名执行其中一个示例。

代码语言:javascript
复制
EXECUTE dbo.IndexOptimize
@Databases = 'USER_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 
'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'

它贯穿始终,我希望它会改变数据库索引碎片,但它似乎不会改变任何东西。我不确定我是否错过了什么。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-01-29 19:32:43

首先要注意的是,如果索引少于1000页,脚本将忽略这些索引。这是因为Microsoft(实际上是Paul Randall)的建议是不要重新排序/重建少于1000页的索引。这是因为,由于索引的大小,从维护中获得的好处“通常”可以忽略不计。

其次,如果您的索引少于8页,那么这些页将被存储在一个混合区中。这也会将你的碎片读数抛出水面。

要注意的一件事是,外部碎片(总碎片),这是我假设您正在谈论的,只有在从磁盘读取时才是真正的问题。如果您能够将所有数据放入内存中,那么您就不需要太担心碎片、更多的统计数据维护和一致性检查。我之所以提到一致性检查,是因为人们经常比CHECKDB更多地运行索引维护。

如果您真的想了解索引维护和性能,可以尝试Brent Ozar的this GroupBy session。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48499642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档