数据库会对索引键(也称为组合索引)强制施加最大大小。
索引键的最大大小为 900 个字节。
要确定组合索引键的大小,Microsoft SQL Server 将计算所有固定列加上所有可变列的最小值所得到的总和,从而确定此组合索引是否在允许索引具有的最大大小范围内。但是,如果表中已经有数据,并且一列中的现有数据允许索引的总字节数大于最大大小,那么无法创建此索引。此外,如果在创建索引之后插入(或更新)了数据,而此数据允许索引的最大值超过最大值大小,那么那时会发生错误。
例如:您可以定义一个由大小为 500 字节的 column1 和大小为 500 字节的 column2 组成的索引。如果您将 500 字节的数据放入 column1 中,并将 500 字节的数据放入 column2,那么将产生错误。如果您将 100 字节的数据放入 column1,并将 100 字节的数据放入 column2,那么不会产生错误。
索引键的最大总大小为数据库块大小的 70% 减去一些开销。
要确定索引键的大小,Oracle Server 会合计所有可变长度字段的最大定义大小加上所有固定长度字段的大小。
唯一索引键的组合总长度的最大值为 8192。