首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL配置文件和DTA

SQL配置文件和DTA
EN

Stack Overflow用户
提问于 2010-01-05 21:33:59
回答 4查看 424关注 0票数 0

以下是场景:

在最大服务器负载期间,我使用DTA查找的三个事件(别管这个)运行了几个小时的跟踪。然后,我停下来并将这个分析器加载提供给DTA。它完成自己的调优工作,并向我反馈需要放入哪些索引。

下面是问题:

多个(最多15个)不同的索引建议用于单个表。如果我让DTA来做它的工作,这是否意味着要为此创建几个索引?这不会是个问题吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-05 21:50:24

SQL server的优化是复杂的,并且在很大程度上依赖数据库中的数据。确定更改将产生影响的唯一真正方法是使用代表性data对数据库执行性能和负载测试(最好是实时数据库的备份)

也就是说,15个索引对我来说似乎很多-大量的索引可能会对针对该表的写入速度产生有害的影响。DTA可能已经针对该表单独运行了每个查询,并为每个查询提供了最佳索引。你可能会发现,通过创建适合多个查询的索引来回收索引的数量是可能的-这可能意味着一些查询的比所有15个索引的速度稍微慢一些,但是你有可能获得99%的改进。

票数 0
EN

Stack Overflow用户

发布于 2010-01-05 21:42:54

DTA在许多情况下都是合理的,但它并不总是给出最优的建议。重叠非常常见,将聚集索引复制为非聚集索引(!)也很常见。

如果您想更准确地手动完成此操作:MS SQL Server 2008 - How Can I Log and Find the Most Expensive Queries?

票数 1
EN

Stack Overflow用户

发布于 2010-01-05 21:39:28

在不了解表、查询或索引的情况下,答案必须是“视情况而定”……

您需要将DTA的输出作为起点。如果您查看推荐的索引,您可能会发现它们之间存在一些重叠,以减少索引的数量。

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

https://stackoverflow.com/questions/2006300

复制
相关文章

相似问题

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