我有一个正在尝试调整的 SQL 2008 数据库,并且我使用了一些我找到的示例来从 SQL 数据管理视图生成推荐的索引。
在某些情况下,我看到推荐了多个索引,并且这些索引在 INCLUDE 部分之前具有相同的定义,此时它们有一些不同的列可供使用。
我知道我不应该只创建来自互联网的脚本建议的每个索引,但除此之外,如果我确实创建了所有这些索引,引擎会酌情使用这些索引中的每一个,还是其中两个未使用?
CREATE INDEX [IX_FactBilling_FiscalPeriodKey1]
ON [ClearViewDev].[Performance].[FactBilling] ([fiscalperiodkey])
include ([TotalReceived], [ExchangeRateTimeKey], [MatterKey], [BillingTypeKey]
, [CurrencyKey], [PersonKey], [CompanyKey], [OfficeKey], [PracticeGroupKey],
[ProfitCenterKey], [PersonnelTypeKey], [RankKey])
CREATE INDEX [IX_FactBilling_FiscalPeriodKey2]
ON [ClearViewDev].[Performance].[FactBilling] ([fiscalperiodkey])
include ([TotalBilled], [ExchangeRateTimeKey], [MatterKey], [BillingTypeKey],
[CurrencyKey], [PersonKey], [CompanyKey], [OfficeKey], [PracticeGroupKey],
[ProfitCenterKey], [PersonnelTypeKey], [RankKey])
CREATE INDEX [IX_FactBilling_FiscalPeriodKey3]
ON [ClearViewDev].[Performance].[FactBilling] ([fiscalperiodkey])
include ([TotalBilled], [TotalReceived], [MatterKey], [BillingTypeKey],
[TransactionDateKey], [BusinessProcessInstanceDateKey], [PersonKey],
[CompanyKey], [OfficeKey], [PracticeGroupKey], [ProfitCenterKey],
[PersonnelTypeKey], [RankKey], [BillableHoursBilled], [BillableValueBilled],
[StandardValueBilled], [HoursBilled])