3

我有这个场景:

TableA: +2M rows.
TableB: +60K rows.

我需要INNER JOIN他们两个领域([Month] AS INT, [Year] AS INT)

我希望提高该查询的性能;为此,我可以为 和 创建一个索引,也可以为和[Month, Year]创建两个单独的索引。我应该考虑什么标准来选择这两种方法之一?[Month][Year]

4

1 回答 1

3

你会在没有搜索的year情况下搜索month吗?month没有搜索就搜索怎么year办?

如果您永远不会搜索其中一列而不搜索另一列,则创建一个包含这两列的索引。

如果您只搜索month, 或monthand year,则为 , 创建一个索引monthyear注意这month是索引的前沿。

如果您有时会单独搜索每列,请创建两个单独的索引,每列一个...如果同时搜索两列,Sql Server 可以有效地使用这两个索引。

于 2012-11-20T21:09:23.877 回答