怎么查询一条记录到底占了多少空间呢,随便用一个表举例(如上图),就着解决眼前问题的原则(oracle),网上简单查了查,发现生效了,就没深入了解了,包括其它数据库怎么解决,都没做研究。Oracle下,这两种方式是可行的:
1,vsize
统计每个字段的实际占用长度,然后相加,局限在
- 统计的是单条记录的长度,也就是你必须加上where语句过滤,不然的话,会把符合条件的每条记录的大小列出来
- 有空值的话,就计算不出来了
2,从聚合统计表里查
select AVG_ROW_LEN from USER_TABLES where table_name = 'YOUR_TABLE';
这个比较简洁有力啊