gpt4 book ai didi

sql - 使用 include 中的所有列创建索引是一种不好的做法吗?

转载 作者:行者123 更新时间:2023-12-04 21:30:41 24 4
gpt4 key购买 nike

我有一个表,我正在为 where 子句中搜索中经常使用的字段创建非聚集索引。我正在使用 include 子句创建索引并将所有字段放入其中。

例如:

Create NonClustered Index IX_DocumentDate on Documents
(
DocumentDate
)
Include(
JurisdictionID,
JudgementTypeID,
IDate,
EfileDate,
UserID,
RecordingDateTime,
ApprovedBy,
ACEfileBankAccountID,
LastStatusChangedDateTime,
ACEfileCreditCardID,
EfiledByUserID,
ITypeID,
IGroupID,
InstrumentID,
OldInstrumentID,
[CreatedByJurisdictionID],
CreatedByAccountID,
[DocumentStatusID]
,[Remarks]
,[InternalNotes]
,[ParentDocumentID]
,[FilingNumber]
,[StampData]
,[Receipt]
,[ReceiptNo]
,[IsReEfiled]
,[ImportedFromInstrumentID]
)

相对于仅仅创建索引。这些字段都用在 Select 中。只是想知道我做错了吗?当我这样做时,我会获得巨大的绩效奖金。如果这没问题,那么为什么 Microsoft 不将其用作默认选项并将表的所有字段包含在 include 中?

最佳答案

是的。一般来说,在 SQL 中,只有一种模式总是不好的 - 很多取决于用法,而且会有所不同。

在上述情况下,这可能是明智的,也可能不是必要的或有益的。不要忘记您付出了代价 - 磁盘大小(=IO​​ 和更多 RAM 使用)以及更新和插入速度(较慢)。

通常,应谨慎使用 INCLUDE。从无开始,然后在遇到问题时使用它,它会有所帮助。

关于sql - 使用 include 中的所有列创建索引是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14050178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com