【发布时间】:2017-06-06 22:53:13
【问题描述】:
对于以下查询,此Item table 的最佳索引是什么
select
tt.itemlookupcode,
tt.TotalQuantity,
tt.ExtendedPrice,
tt.ExtendedCost,
items.ExtendedDescription,
items.SubDescription1,
dept.Name,
categories.Name,
sup.Code,
sup.SupplierName
from
#temp_tt tt
left join HQMatajer.dbo.Item items
on items.ItemLookupCode=tt.itemlookupcode
left join HQMatajer.dbo.Department dept
ON dept.ID=items.DepartmentID
left join HQMatajer.dbo.Category categories
on categories.ID=items.CategoryID
left join HQMatajer.dbo.Supplier sup
ON sup.ID=items.SupplierID
drop table #temp_tt
我创建了类似的索引
CREATE NONCLUSTERED INDEX [JFC_ItemLookupCode_DepartmentID_CategoryID_SupplierID_INC_Description_SubDescriptions] ON [dbo].[Item]
(
[DBTimeStamp] ASC,
[ItemLookupCode] ASC,
[DepartmentID] ASC,
[CategoryID] ASC,
[SupplierID] ASC
)
INCLUDE (
[Description],
[SubDescription1]
)
但是在执行计划中,当我检查选择另一个索引的索引时。该索引只有TimeStamp column。
在这种情况下,该特定表的最佳索引是什么。
【问题讨论】:
-
@Hadi 不幸的是,这个问题太宽泛了,答案因不合格而狭窄的适用性而受到影响。关于索引调优的主题已经写了整本书,如果认为特定的问答作为替代品是很危险的。 (这个问题要具体得多,但仍然过于宽泛。)
标签: sql sql-server stored-procedures indexing