2011-02-25 29 views
1

我们使用优化顾问对数据库建立索引。假设我们有两个查询从一个表中获取两组不同的数据。由数据库引擎优化顾问索引

当我们分析我们得到了两种类型的建议,如

1. Index three columns c1,c2 and c3 in the table, here c1 is primary key. 
2. Index three columns c2,c3 and c4 in the table. 

在这种情况下,我们如何进行这两个查询。我们是否需要创建两个索引?请给出你的建议。

回答

2

您可以使用相同的数据库引擎优化会话同时分析两个查询,并且您应该获得一个或多个彼此兼容的索引建议。数据库优化顾问的建议是在一段时间内针对您的应用程序运行一个分析器,例如5-10分钟,具体取决于查询的负载和数量。然后在调整顾问中一起运行整个结果以获取建议列表。

希望这会有所帮助!

编辑

请参阅此链接了解更多信息:http://www.mssqltips.com/tip.asp?tip=1872

+0

@mellamokb:事实上,我们将查询分析为单独的工作负荷文件。为此,我们从存储过程中取出查询部分,然后用表中适当的值替换变量值。这是一个正确的方式吗? – 2011-02-25 05:52:24

+0

@mahesh:没关系。我唯一的观点是你想要在一个工作负载中分析所有的查询,而不是一次一个查询。这样,这些建议将适用于整个工作量。如果您通过查询分析查询,则您可能会看到重叠的索引建议,并且实际上这两者都不是最好的。 – mellamokb 2011-02-25 05:54:03

+0

@mellamokb:那么我可以将所有脚本复制到一个.sql文件并分析它? – 2011-02-25 05:57:00