可以将非唯一列定义为聚簇索引以及非聚簇索引.但是,如果未将列定义为唯一,则sql Server会在聚簇索引的情况下向索引列添加4字节整数.这样做是为了在内部保持记录的“唯一性”,即使两个或多个记录可能具有该列的值.在非聚集索引的情况下,为什么不需要此整数?
解决方法
非聚集索引已包含聚簇索引列,因此它可以引用与其关联的确切行.因此,对于聚簇索引上的uniquifier,非聚簇索引还将包括uniquifier.
这里有一个很好的解释:Understanding and Examining the Uniquifier in SQL Server