在SQL Server 2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用4031字节,则存储该表数据大约需要【6】MB存储空间,其空间利用率大约是【7】%。(存储空间和空间利用率均保留到整数,小数点后按四舍五入处理)

admin2019-07-07  27

问题 在SQL Server 2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用4031字节,则存储该表数据大约需要【6】MB存储空间,其空间利用率大约是【7】%。(存储空间和空间利用率均保留到整数,小数点后按四舍五入处理)

选项

答案第一空:80 第二空:50

解析 在SQL Server中,数据存储的基本单位是页。为数据库中的数据文件(.mdf或.ndf)分配的磁盘空间可以从逻辑上划分成页(从0到n连续编号),磁盘I/O操作在页级执行。也就是说,SQL Server读取或写入所有数据页。在SQL Server中,页的大小为8KB,这意味着SQL Server数据库中每MB有128页,每页的开头是96字节的标头,用于存储有关页的系统信息,此信息包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元ID。行不能跨页,但是行的部分可以移出行所在的页,因此行实际可能非常大。页的单个行中的最大数据量和开销是8,060字节,由于题目中2行数据加起来的存储空间大于数据页,所以每页只能存储一行,因为1M有128页,也就可以存储128行,1000/128得80MB空间。至于空间利用率(实际存储数据量/所占的存储空间),考虑到每行4031字节为8060的一半,所以近似得到50%。
转载请注明原文地址:https://jikaoti.com/ti/qa37FFFM
0

最新回复(0)