Sql server 向具有非聚集列存储索引的表中添加列
将列添加到具有非聚集列存储索引的表中不是问题,但是否可以将列添加到非聚集列存储索引本身,而无需删除它并重新创建?您尝试过吗?您不能将列添加到常规NC索引中,所以…如果我没有弄错的话,它将添加到NCI列存储索引中。因为表的所有列都是列存储索引的一部分。与堆上的表或基于行的NCI索引相比,在列存储索引上进行插入要慢得多的原因。是的,但由于其结构,将列添加到行存储索引是一项困难的操作。对于columnstore,它应该更简单(对于集群存储,它只持续几秒钟)。此外,我还可以使用ONLINE选项创建第二个rowstore索引,并删除旧索引。不能使用columnstore。@junketsu,不,这仅适用于聚集的columnstore索引。NCI不必包含表格的所有列,然后就可以了。这只意味着如果在中添加一个新列。您必须删除并重新创建NCI-CS索引,以考虑相关的新列/最新列。Sql server 向具有非聚集列存储索引的表中添加列,sql-server,sql-server-2016,columnstore,Sql Server,Sql Server 2016,Columnstore,将列添加到具有非聚集列存储索引的表中不是问题,但是否可以将列添加到非聚集列存储索引本身,而无需删除它并重新创建?您尝试过吗?您不能将列添加到常规NC索引中,所以…如果我没有弄错的话,它将添加到NCI列存储索引中。因为表的所有列都是列存储索引的一部分。与堆上的表或基于行的NCI索引相比,在列存储索引上进行插入要慢得多的原因。是的,但由于其结构,将列添加到行存储索引是一项困难的操作。对于columnstore,它应该更简单(对于集群存储,它只持续几秒钟)。此外,我还可以使用ONLINE选项创建第二个