1

我想知道在我的数据库中的表中查找行大小的命令。假设我有一个数据库db和一个表table

我怎样才能找到该数据库中一行的大小(包括所有列)?

4

2 回答 2

2

显示表的预期行大小见这里

于 2012-02-27T12:13:19.047 回答
0

在 ASE 中,我将 sp_estspace 和 sp_spaceused 组合用于我自己编写的总数据/索引大小。您可以获取每个内部 sybsystemprocs 的源代码。

sp_estspace 倾向于高估(很多)数据(而不是索引)的大小,并且 sp_spaceused 除以行数往往不能很好地指示今天一行可能有多大(假设您昨天添加了 20 个可空列并决定使用它们,spaceused 不变)。

  1. 合理的预期数据大小 = ((spaceused / rowcount) + estspace(1) ) / 2
  2. 我没有对任何一个索引命令的准确性进行任何分析,但我想 (spaceused / rowcount) 对于前瞻性项目来说是非常准确的。

无论如何它都不是完美的,但对于我的目的来说,这是一个相当可靠的估计。不过,如果超出任何这些估计值,我不会编写任何会破坏的代码。

于 2012-08-08T05:05:25.600 回答