![](/img/trans.png)
[英]How can a Non-Clustered index output a column that is not included in the index
[英]Non-clustered index on column in a small table
我有下表, ReportType
。 此表將只有100行左右,並且永遠不會被應用程序更新(因此INSERT
, UPDATE
或DELETE
性能不是問題)。
Table: ReportType
===========================================================
| ID (PK) | Name | ExportFormat | SourceDatabase |
===========================================================
還是值得在ExportFormat
上放置一個非聚集索引嗎? 在某些情況下和某些報告中,此列用作過濾條件。 它根本沒有高度選擇性(可能只有10個不同的值),這表明它不會成為非聚集索引的良好候選者。 但是這個表永遠不會經歷任何INSERT
, UPDATE
或DELETE
操作,所以索引實際上肯定會受益(即使只是略微)?
根據經驗,對少於128行的表的索引會增加更多的開銷。 特別是非聚集索引 - 單個書簽查找可能比掃描整個表更具擴展性。
我不同意你接受的答案。
你說這個表是只讀的,所以我沒有看到創建覆蓋非聚集索引的缺點,如下所示。
CREATE NONCLUSTERED INDEX IX
ON ReportType(ExportFormat) INCLUDE(ID,Name,SourceDatabase )
對於如此少量的行,好處可能非常ExportFormat
但它避免了必須為ExportFormat
上的每個查詢過濾處理所有行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.