社区
应用实例
帖子详情
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间??热!热!热!
herorain
2005-03-18 11:21:01
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间?
我的目的是评估Sql server资料库的容量空间。
各位大哥,有什么高见?告诉小弟
...全文
904
8
打赏
收藏
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间??热!热!热!
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间? 我的目的是评估Sql server资料库的容量空间。 各位大哥,有什么高见?告诉小弟
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wudan8057
2005-03-18
打赏
举报
回复
SQL server 的存储是以页为单位的,一页的大小为8K,并且记录不能跨页存储,记录的大小为字段类型的字节总合
例如1:一条记录为1K大小,共1000条记录,它的大小为:
每页可存放记录数 = 8/1 = 8条
表占用空间 = (1000/每页可存放记录数) * 8 = 1000k
例如1:一条记录为3K大小,共1000条记录,它的大小为:
每页可存放记录数 = 8/3 = 2条
表占用空间 = (1000/每页可存放记录数) * 8 = 4000k
zjcxc
2005-03-18
打赏
举报
回复
更多的参考sql联机帮助:
表-SQL Server, 大小
zjcxc
2005-03-18
打赏
举报
回复
如果要自己估计表的大小
下列步骤可用于估计存储表中的数据所需的空间量。
指定表中的行数:
表中的行数 = Num_Rows
如果在表的定义中有固定长度和可变长度列,请计算数据行中这两组列的每一组所占用的空间。列的大小取决于数据类型和长度说明。有关更多信息,请参见数据类型。
列数 = Num_Cols
所有固定长度列中的字节总和 = Fixed_Data_Size
可变长度列数 = Num_Variable_Cols
所有可变长度列的最大值 = Max_Var_Size
如果表中有固定长度列,行的一部分(称为空位图)将保留以管理列的可为空性。计算大小:
空位图 (Null_Bitmap) = 2 + (( Num_Cols + 7) / 8 )
仅使用上述表达式中的整数部分,而去掉其余部分。
如果表中有可变长度列,请确定在行中存储这些列需使用的空间:
可变长度列的总大小 (Variable_Data_Size) = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
如果没有可变长度列,请将 Variable_Data_Size 设置为 0。
此公式假设所有可变长度列均百分之百充满。如果预计可变长度列占用的存储空间比例较低,则可以按照该比例调整结果以对整个表大小得出一个更准确的估计。
计算行大小:
行总大小 (Row_Size) = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap +4
最后一个值 4 表示数据行首结构。
下一步,计算每页的行数(每页有 8096 可用字节):
每页的行数 (Rows_Per_Page) = ( 8096 ) / (Row_Size + 2)
因为行不跨页,所以每页的行数应向下舌入到最接近的整数。
如果要在表上创建聚集索引,那么要根据指定的填充因子计算每页保留的可用行数。有关更多信息,请参见填充因子。如果不创建聚集索引,请将 Fill_Factor 指定为 100。
每页的可用行数 (Free_Rows_Per_Page) = 8096 x ((100 - Fill_Factor) / 100) / (Row_Size + 2)
计算中使用的填充因子为整数值,而不是百分数。
因为行不跨页,所以每页的行数应向下舍入到最接近的整数。填充因子增大时,每页将存储更多的数据,因此页数将减少。
计算存储所有行所需的页数:
页数 (Num_Pages) = Num_Rows / (Rows_Per_Page - Free_Rows_Per_Page)
估计的页数应向上舍入到最接近的整数。
最后,计算存储表中的数据所需的空间量(每页总字节为8192):
表大小(字节)= 8192 x Num_Pages
viptiger
2005-03-18
打赏
举报
回复
所有字段的字段类型的字节总合
总合*行数=表占用空间
zjcxc
2005-03-18
打赏
举报
回复
use 你的库名
exec sp_spaceused --查询数据库中的空间分配情况
exec sp_spaceused N'表名' --查看表的空间占用情况
631799
2005-03-18
打赏
举报
回复
up 一下
Qihua_wu
2005-03-18
打赏
举报
回复
很久没有来了,用力顶一下
yesyesyes
2005-03-18
打赏
举报
回复
是否应该考虑表中的索引呢?
索引也要占表空间的吧?
Sql
Server
中查询
数据库
所有表及其数据总条数和
占
用空间
WHERE DB_NAME(database_id) = 'database
数据库
名'RTRIM(8 * dpages) + 'KB'
占
用空间大小,
Sql
Server
中查询
数据库
所有表及其数据总条数和
占
用空间。3、查询某
数据库
中的所有数据表及其数据总条数所
占
用的空间大小。SELECT OBJECT_NAME(id) 数据表,2、查询某
数据库
中的所有数据表及其数据总条数。--当前
数据库
服务器所有
数据库
文件大小。1、查询某
数据库
中的所有数据表。--查看某
一个
数据库
的文件大小。b.rows 数据总条数。
数据库
--
Sql
Server
详解
数据库
–
SQL
Server
详解 零、文章目录 一、
数据库
概念 1、
数据库
基本概念 (1)
数据库
(DataBase:DB)
数据库
是是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库 (2)
数据库
管理系统(Database Management System:DBMS) 是专门用于管理
数据库
的计算机系统软件。
数据库
管理系统能够为
数据库
提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。 注意:我们一般说的
数据库
,就是指的DBMS 2、
数据库
sql
server
如何查看每个表
占
用多少内存(
硬盘空间
)
【
sql
代码】
sql
server
如何查看每个表
占
用多少内存(
硬盘空间
)
数据库
优化从入门到进阶:
SQL
Server
数据太多?我来帮你搞定!
嘿,数据存得多是不是一件好事?没错!不过,当你的
SQL
Server
数据库
开始不堪重负、响应慢得像蜗牛,甚至查询都卡顿到怀疑人生的时候,就需要一些“数据瘦身”操作啦!今天就带你走进
SQL
Server
优化的世界,让你的
数据库
不仅存得多,还跑得飞快!✨这篇文章不仅
会
告诉你如何提升
SQL
Server
的性能,更
会
从多角度分享
数据库
优化的技巧和实战案例。读完,你一定能有所收获,告别“数据超载”的烦恼!💪
SQL
Server
的优化是个“技术活”,需要我们用心去琢磨和调试。
SQL
Server
数据库
第一课:常用
数据库
介绍、
数据库
基本概念了解、登录
SQL
Server
数据库
的方法
知识点:常用
数据库
介绍、
数据库
的基本概念了解、登录
SQL
Server
数据库
、创建和管理
SQL
Server
数据库
1. 常用
数据库
介绍 1.1 为什么需要
数据库
?
数据库
,顾名思义就是存储数据的仓库,
数据库
最终的目的是存储数据。那么在
数据库
技术出现之前,我们是怎么存储数据的呢?(比如要记住家人的生日)我们可以依靠大脑记忆、写在纸上、有计算机以后可以写在计算机内存中、写成磁盘文件……...
应用实例
27,582
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章