社区
应用实例
帖子详情
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间??热!热!热!
herorain
2005-03-18 11:21:01
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间?
我的目的是评估Sql server资料库的容量空间。
各位大哥,有什么高见?告诉小弟
...全文
831
8
打赏
收藏
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间??热!热!热!
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间? 我的目的是评估Sql server资料库的容量空间。 各位大哥,有什么高见?告诉小弟
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
详解
数据库
–
SQL
Server
详解 零、文章目录 一、
数据库
概念 1、
数据库
基本概念 (1)
数据库
(DataBase:DB)
数据库
是是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库 (2)
数据库
管理系统...
SQL
Server
数据库
第一课:常用
数据库
介绍、
数据库
基本概念了解、登录
SQL
Server
数据库
的方法
知识点:常用
数据库
介绍、
数据库
的基本概念了解、登录
SQL
Server
数据库
、创建和管理
SQL
Server
数据库
1. 常用
数据库
介绍 1.1 为什么需要
数据库
?
数据库
,顾名思义就是存储数据的仓库,
数据库
最终的目的是存储...
SQL
SERVER
数据库
:
SQL
看这一篇就不够了(附详细代码及截图)
SQL
SERVER
教程
SQL
Server
数据库
学习总结及T-
SQL
语法使用实战
SQL
Server
数据库
及T-
SQL
实战声明
SQL
Server
数据库
安装
sql
server
新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成
一个
适合你的列表创建
一个
表格...
MS
SQL
Server
数据库
原理
MS
SQL
Server
数据库
原理 一、
数据库
基本概念
数据库
系统(DBS):采用
数据库
技术的计算机系统,由
数据库
(数据)、
数据库
管理系统(软件)、
数据库
管理员(人员)、硬件平台(硬件)和软件平台(软件)五部分构成...
应用实例
27,580
社区成员
68,556
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章