日期:2014-05-18  浏览次数:20531 次

请问主键的长度对于建立在主键列上的索引所占存储空间有没有影响?
我做了这样一个实验,对于几个有主外键关系的表,在主键列建立了聚簇索引。每次改变各个表中主键的长度和类型,以分析查询的性能和存储空间占用情况。例如主键分别用char(10),char(20)...表数据占用的总的存储空间必然随着主码长度的增加变大了,可是索引所占的空间却丝毫没有变,这是怎么回事呢?我用的是SQLserver2k5的报表功能查看存储情况。

------解决方案--------------------
要研究索引,建议你看看这篇文章:
http://apps.hi.baidu.com/share/detail/1185629
------解决方案--------------------
探讨
我做了这样一个实验,对于几个有主外键关系的表,在主键列建立了聚簇索引。每次改变各个表中主键的长度和类型,以分析查询的性能和存储空间占用情况。例如主键分别用char(10),char(20)...表数据占用的总的存储空间必然随着主码长度的增加变大了,可是索引所占的空间却丝毫没有变,这是怎么回事呢?我用的是SQLserver2k5的报表功能查看存储情况。

------解决方案--------------------
用sp_spaceused查看试试,应该会有变.
SQL code

exec sp_spaceused '[TableName]'