如何在数据库中查找表中行的大小(Sybase)

时间:2012-02-27 12:09:04

标签: sybase-ase sybase-iq

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

如何在该数据库中找到行的大小(包括所有列)?

2 个答案:

答案 0 :(得分:2)

用于显示表格的预期行大小请参阅here

答案 1 :(得分:0)

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

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

  1. 合理的预期数据大小=((spaceused / rowcount)+ estspace(1))/ 2
  2. 我没有对任何索引命令的准确性做过任何分析,但我认为(spaceused / rowcount)对于前瞻性项目非常准确。
  3. 通过任何方式它并不完美,但它对我的目的来说是一个相当可靠的估计。但是,如果它超过任何这些估计值,我不会写任何会破坏的代码。