首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重建索引任务选项

重建索引任务选项
EN

Database Administration用户
提问于 2016-12-03 14:19:48
回答 1查看 517关注 0票数 1

我必须在Server 2016数据库上调试性能问题。查询非常简单--一些临时表与SQL表和聚合连接在一起。临时表中涉及的行数非常少(几个表,几百行)。

我发现其中一个表PK有12%的索引碎片。如果从查询中删除了表,则它运行得更快。我重建了索引,一切都很好。

我认为SQL Server 2016实例的设置一定有问题,因为查询在Server 2014上运行得非常好。我在设置中发现的唯一不同之处是维护计划--下面的图片显示了计划:

Server 2016

Server 2014

我想在Index选项中有一些设置不正确,这导致统计数据不被重新计算。有人能告诉我我是否是对的(因为我不是DBA),或者说这个计划看起来不错,这样我就可以在另一个地方搜索这个问题了吗?

EN

回答 1

Database Administration用户

发布于 2016-12-04 04:15:16

这比评论更长。所以把这个作为答案..。

所以,我重建了指数,一切都很好。

重建索引将更新与该索引关联的列的统计数据

在两个服务器之间可能有很多不同的变量(2014年和2016年)。

  • sys.configurations设置
  • 数据库兼容级别
  • 启用任何自定义跟踪标志
  • 最大内存设置
  • 并行化设置的成本阈值
  • 最大dop设置

您可以从最佳实践分析器脚本团队运行MSSQLTiger,也可以从布伦特·奥扎尔的团队运行服务提供商_闪电战

附带说明:使用Ola索引维护解决方案 ..。很多组织都对此进行了很好的测试。

从你的截图来看,你似乎把页面充实度(FILLFACTOR)设置为80%,即留出20%的免费。您应该监视碎片(在您的例子中,12%不是什么,+您需要考虑索引中有多少页。我建议您开始使用1000+页面查看索引)。我怀疑这会否导致严重的工作表现问题。

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

https://dba.stackexchange.com/questions/157076

复制
相关文章

相似问题

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