我想知道在我的数据库中的表中查找行大小的命令。假设我有一个数据库db
和一个表table
。
我怎样才能找到该数据库中一行的大小(包括所有列)?
显示表的预期行大小见这里
在 ASE 中,我将 sp_estspace 和 sp_spaceused 组合用于我自己编写的总数据/索引大小。您可以获取每个内部 sybsystemprocs 的源代码。
sp_estspace 倾向于高估(很多)数据(而不是索引)的大小,并且 sp_spaceused 除以行数往往不能很好地指示今天一行可能有多大(假设您昨天添加了 20 个可空列并决定使用它们,spaceused 不变)。
无论如何它都不是完美的,但对于我的目的来说,这是一个相当可靠的估计。不过,如果超出任何这些估计值,我不会编写任何会破坏的代码。