sql-server – 为什么SQL Server将4字节整数添加到非唯一聚簇索引

可以将非唯一列定义为聚簇索引以及非聚簇索引.但是,如果未将列定义为唯一,则sql Server会在聚簇索引的情况下向索引列添加4字节整数.这样做是为了在内部保持记录的“唯一性”,即使两个或多个记录可能具有该列的值.在非聚集索引的情况下,为什么不需要此整数?

解决方法

非聚集索引已包含聚簇索引列,因此它可以引用与其关联的确切行.因此,对于聚簇索引上的uniquifier,非聚簇索引还将包括uniquifier.

这里有一个很好的解释:Understanding and Examining the Uniquifier in SQL Server

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...