Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 向具有非聚集列存储索引的表中添加列_Sql Server_Sql Server 2016_Columnstore - Fatal编程技术网

Sql server 向具有非聚集列存储索引的表中添加列

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

将列添加到具有非聚集列存储索引的表中不是问题,但是否可以将列添加到非聚集列存储索引本身,而无需删除它并重新创建?

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