社区
应用实例
帖子详情
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间??热!热!热!
herorain
2005-03-18 11:21:01
怎样评估 在SQL Server 数据库的一个表中,一条记录会占多少硬盘空间?
我的目的是评估Sql server资料库的容量空间。
各位大哥,有什么高见?告诉小弟
...全文
939
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
数据库
开始不堪重负、响应慢得像蜗牛,甚至查询都卡顿到怀疑人生的时候,就需要一些“数据瘦身”操作啦!今天就带你走进
SQL
Server
优化的世界,让你的
数据库
不仅存得多,还跑得飞快!✨这篇文章不仅
会
告诉你如何提升
SQL
Server
的性能,更
会
从多角度分享
数据库
优化的技巧和实战案例。读完,你一定能有所收获,告别“数据超载”的烦恼!💪
SQL
Server
的优化是个“技术活”,需要我们用心去琢磨和调试。
数据库
--
Sql
Server
详解
数据库
–
SQL
Server
详解 零、文章目录 一、
数据库
概念 1、
数据库
基本概念 (1)
数据库
(DataBase:DB)
数据库
是是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库 (2)
数据库
管理系统(Database Management System:DBMS) 是专门用于管理
数据库
的计算机系统软件。
数据库
管理系统能够为
数据库
提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。 注意:我们一般说的
数据库
,就是指的DBMS 2、
数据库
SQL
Server
数据库
第一课:常用
数据库
介绍、
数据库
基本概念了解、登录
SQL
Server
数据库
的方法
知识点:常用
数据库
介绍、
数据库
的基本概念了解、登录
SQL
Server
数据库
、创建和管理
SQL
Server
数据库
1. 常用
数据库
介绍 1.1 为什么需要
数据库
?
数据库
,顾名思义就是存储数据的仓库,
数据库
最终的目的是存储数据。那么在
数据库
技术出现之前,我们是怎么存储数据的呢?(比如要记住家人的生日)我们可以依靠大脑记忆、写在纸上、有计算机以后可以写在计算机内存中、写成磁盘文件……...
SQL
Server
数据库
和表的管理
存储数据的文件叫作数据文件,数据文件包含数据和对象,如表和索引,存储事务日志的文件叫作事务日志文件(又称日志文件)。在创建
一个
新的
数据库
的时候,仅仅是创建了
一个
‘空壳”.必须在这个“空壳”中创建对象(如表等),然后才能使用这个
数据库
。只有当
数据库
管理员真的希望所有新的
数据库
都拥有同样的设置,同样的
数据库
用户和同样的
数据库
角色的时候,才
会
对model
数据库
进行更改。若要创建
数据库
,必须先确定
数据库
的名称、所有者(创建
数据库
的用户)、大小,以及存储该数据文件和事务日志文件的位置。具体操作步骤如下所述。
Sql
server
数据库
中的临时表详解
临时表在
Sql
server
数据库
中,是非常重要的,下面就详细介绍
SQL
数据库
中临时表的特点及其使用,仅供参考。 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时
会
自动删除。临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。 对于临时表有如下几个特点: 本地临时表就是用户在创建表的时候添加了“#”前缀的表,其特点是根据
数据库
连接独立。只有创建本地临时表的数...
应用实例
27,580
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章