如何查找从表返回的数据大小

时间:2011-05-24 09:18:13

标签: sql-server sql-server-2005 tsql

我有一张数据保存快照的表。这些快照都标有'jan2010''april2011'。随着时间的推移,所有快照都将呈指数级增长,我想知道我是否可以预测何时需要升级存储。

有没有办法

select monthlysnapshot, sum(size)
from tblclaims_liberty 
group by monthlysnapshot 
order by monthlysnapshot desc

为了获得返回的数据大小,我错过了什么?我可以打电话给系统功能吗?

3 个答案:

答案 0 :(得分:3)

EXEC sp_spaceused'tablename'

这将返回一个提供以下信息的结果集:

名称 - 表格的名称

行 - 表中的行数

保留 - 表格的总预留空间量

数据 - 表格数据使用的空间量

Index_Size - 表索引使用的空间量

未使用 - 表中使用的空间量

答案 1 :(得分:1)

这是你在找什么?

<击> C# Getting the size of the data returned from and SQL query

更改:

EXEC sp_spaceused 'tablename'

如果您可以在代码中使用C#(将代码更改为您使用的任何代码)

long size = 0;
object o = new object();
using (Stream s = new MemoryStream()) {
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(s, o);
size = s.Length;

代码复制自:How to get object size in memory?

答案 2 :(得分:0)

我认为您可以通过“select * into newtable from table”将所选数据插入到表中,并获取新创建的表的大小。