2011-05-24 47 views
0

我有一張表保存數據快照。這些快照全部用'jan2010''april2011'標記。隨着時間的推移,所有快照都會呈指數級增長,我想知道是否可以預測何時需要升級存儲。如何查找從表中返回的數據大小

有什麼辦法來

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

缺少什麼我得到的數據的大小返回?有我可以調用的系統功能嗎?

回答

3

EXEC註釋sp_spaceused「表名」

這將返回一個結果集,它提供以下信息:

名稱 - 中的行數 - 表

行的名稱表

保留 - 表中總預留空間量

數據 - 空間量使用的數據表

Index_Size - 表

+0

使用這個我計算每個快照使用的空間,並能夠預測,當我應該考慮擴大。謝謝。 :) – 2011-07-06 13:44:17

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?

+1

我認爲標題和最終問題與提供的其他信息相矛盾。這更像是OP想知道某些數據的大小*存儲*而不是*返回*。 – 2011-05-24 09:35:32

+0

那正是我的問題。我所有的數據都在一張表中。我想知道數據會爲每個快照提供多少數據。 – 2011-05-24 12:32:45

+0

@Adam McC你可以在你的代碼中做到這一點。如果你使用C#,那麼看看我的編輯。 – Kashif 2011-05-25 12:12:00

0

我認爲你可以將選定的數據爲通過表格量usused空間 - 通過表的索引使用

未使用的空間量「select * into newtable from table」並獲取新創建的表的大小。

相關問題