首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找出一行在数据库中占用的存储量

找出一行在数据库中占用的存储量
EN

Stack Overflow用户
提问于 2010-04-20 23:58:45
回答 3查看 3.6K关注 0票数 3

有没有办法知道我的数据库中的一行(在磁盘上)占用了多少空间?

我很想在SQL Server CE上看到它,但如果SQL Server 2008不能正常工作(我在两者中都存储了大致相同的数据)。

我问这个问题的原因是,我的SQL Server CE数据库中有一个Image列(在SQL 2008数据库中,它是varbinarymax ),我现在需要知道可以存储多少行,然后才能最大限度地释放设备上的内存。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-21 00:17:27

也许不是你想要的100%,但是如果你想知道一张图片的大小,只需这样做

代码语言:javascript
复制
SELECT [RaportID]
                      ,DATALENGTH([RaportPlik]) AS 'FileSize'
                      ,[RaportOpis]
                      ,[RaportDataOd]
                      ,[RaportDataDo]
FROM [Database]

你需要自己做的任何其他额外的计算(如预测等)。

票数 1
EN

Stack Overflow用户

发布于 2010-04-21 00:14:07

对于每一行,varbinary(max)列本身可能包含多达2 2GB的数据。对于基于现有数据的估计使用,也许您可以使用DATALENGTH函数进行一些分析,以计算出一个典型的图像占用了多大的空间,并由此推断。

票数 1
EN

Stack Overflow用户

发布于 2010-04-21 00:09:43

你只能做出粗略的猜测--没有确切的答案来回答“在我的设备内存耗尽之前,我可以存储多少行”这个问题,因为你不能独占使用你的设备-其他程序也会占用资源,你只能知道当前有多少可用存储空间,而不是将来的某个时候。此外,您的图像可能是压缩的,因此会占用不同数量的RAM。

出于猜测的目的,图像的大小是行大小的一个很好的近似值;行结构的开销可以忽略不计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2676626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档