下面是估计数据库大小的一般步骤:
1。计算表的记录大小。这可以将表中每列的宽度累加起来计算出来。
2。用8092除以第1步中计算出的行大小,并向下舍入到最近的整数。8092是单个数据页面能保存的实际数据量,而且由于一行不能跨页,所以向下舍入。
3。用预计拥有的行数除以第2步中计算出的结果。这将得出需要为该表使用的数据页面数量。
4。用第3步中计算出的结果乘以8192(单个数据页面的字节大小)。这将准确地得出该表在磁盘上将占用的字节数量。
例如:
1。已经规划好的数据库,将客户表中所有字段大小累加起来。需要说明的是nvarchar数据类型占用两倍于给它指定的空间,因为nvarchar(20)实际上是40个字节。下面是表布局(应得出235个字节)
custid int(注:4个字节的存储空间)
fname nvarchar(20)
lname nvarchar(20)
address nvarchar(50)
city nvarchar(20)
state char(2)
zip char(9)
2。用8092除以235,并向下舍入到最近的整数来得出单个数据页面上能存放这些行当中的多少行。在每种情况中,都向下舍入,因为单行不能跨页。答案应该是34。
3。用10000(该表中的估计行数)除以单个数据页面上的行数(34),并向上舍入到最近的整数。这里向上舍入是因为一个不完整的行将移到新的数据页面上。答案应该是294。
4。用294(保存10000条记录所需要的页面数量)乘以8192(磁盘上的单页大小)。最终得出该表在磁盘上占用的字节数量应该是2 408 448个字节。
因此,就10000条记录而言,该数据库中客户表将需要大约1.5MB的硬盘空间。通过对数据库中的每个表重复这些步骤,可以计算出在最初创建该数据库时需要给它分配的大致空间。
完成这些计算之后,随时可以开始创建数据库。