如果我在表上有一个非聚簇索引,那么我写入的列数会在写入时改变减速吗?

时间:2015-10-15 10:41:04

标签: sql sql-server sql-server-2008 indexing

在完全相同的表格中,如果我要在其上放置一个索引,则:

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

或:

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

第二个索引是否会导致写入表所需的时间比第一个更长?为什么?

1 个答案:

答案 0 :(得分:1)

包含的列将需要更多的磁盘空间以及数据操作的时间......

如果此表上也存在聚簇索引(理想情况下,在IDENTITY列等隐式排序列上以避免碎片),这将作为所有列的快速查找(但必须在另一列之前创建聚簇索引)。 ..)

将列包含到索引中仅在极其性能相关的问题中是一种有用的方法...