【问题标题】:How to calculate row wise size of table in Sql server?如何计算Sql server中表的行大小?
【发布时间】:2019-06-07 13:09:19
【问题描述】:

我的表有 80K+ 记录。我需要计算每一行的大小。此行大小的总和必须与表大小相同

【问题讨论】:

标签: sql sql-server database-administration


【解决方案1】:

表格的大小和行的大小之间几乎没有关系。表的大小实际上是用表占用的页数来衡量的(也可能是相关的索引)。页面大小可以转换为字节。

记录大小(您可以查看 [datalength()][1])以字节为单位返回大小,这是计算机上更典型的大小度量。

为什么这些关系不大?以下是我很容易想到的三个原因:

  • 页面有数据库需要的开销。
  • 页面可能未完全填满。
  • 表的大小可能应该包括关联的索引结构,但这不是记录的一部分。

特别是,您可能在 8k 页面上有一个 10 字节的记录。或者,您可能有 800 个。两者都是数据库内数据的有效表示。

因此,考虑到数据库中数据的结构方式,您想做的事情没有意义。

【讨论】:

  • 感谢您的回答。我尝试使用 sp_spaceused 将列的 datalength() 与表的数据大小相加。但我的尺寸不同了。
猜你喜欢
  • 2022-06-16
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
相关资源
最近更新 更多