向聚簇索引添加16列以上

时间:2009-03-24 12:04:28

标签: sql-server

我有什么方法可以在聚集索引中添加超过16列。

5 个答案:

答案 0 :(得分:7)

自SQLserver 2008起,no。但是,如果您需要超过16列的聚簇索引,我怀疑瓶颈在其他地方。

答案 1 :(得分:2)

没有。此外,对于组合密钥大小,总共限制为900字节的数据。

Create Index reference页面引用。

  

最多可以组合16列   单个复合索引键。一切   复合索引键中的列必须   在同一个表或视图中。该   最大允许大小的组合   索引值是900字节。更多   有关变量类型的信息   复合索引中的列,请参阅   备注部分。

答案 2 :(得分:2)

聚集索引中最多16列只能通过纯粹和完全疯狂来克服。你永远被锁在电脑前的那种,永远不允许尝试这样的事情。

因此,这是不可能的。

答案 3 :(得分:1)

正如其他人所说,这是不可能的,甚至是不可取的。对于宽键because,群集索引不是一个好的选择:

  

来自群集的键值   所有非群集使用索引   索引作为查找键。任何   在上面定义的非聚集索引   相同的表将是显着的   因为非聚集索引较大   条目包含群集密钥和   还为此定义了关键列   非聚集索引。

如果您对非聚集索引感到满意,那么从SQL Server 2005及更高版本开始,您可以使用Included Columns来克服900字节,16列限制。

答案 4 :(得分:1)

不,16是限制。

但是您可以将键组合成一个哈希值。这应该提高速度。 应该对哈希值进行索引。