我想返回SQL Server 2008表中单个列的数据大小。我知道:
sp_spaceused 'mySchema.myTable'
会给我总表的数据大小,但有没有办法返回表中单个列的数据大小?
答案 0 :(得分:3)
确实没有用于列"的空间概念,因为数据是由记录而不是列存储的。实际上,如果删除列,则可能无法恢复空间。
您可以使用datalength()
(记录为here)获取列值所占用的页面空间。
您可以通过执行以下操作获取表的值:
select sum(data_length(col))
from table t;
请注意,这不包括NULL
标志和索引之类的辅助存储。