簡體   English   中英

如果我在一個表上只有一個非聚集索引,那么寫入時所包含的列數是否會改變速度?

[英]If I have a single nonclustered index on a table, will the number of columns I include change the slow down when writing to it?

在完全相同的表上,如果我要在上面放一個索引,則可以:

CREATE INDEX ix_single ON MyTable (uid asc) include (columnone)

要么:

CREATE INDEX ix_multi ON MyTable (uid asc) include (
    columnone,
    columntwo,
    columnthree,
    ....
    columnX
)

第二個索引會比第一個索引導致更長的寫入表的延遲嗎? 又為什么呢?

包含的列將需要更多的磁盤空間以及數據處理時間。

如果此表上也有聚簇索引(最好是在像IDENTITY列這樣的隱式排序列上避免碎片化),這將作為對所有列的快速查找(但您必須在另一列之前創建聚簇索引...)

僅將列包含到索引中是僅在與性能非常相關的問題中有用的方法...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM