Oracle统计每条数据的大小

image

怎么查询一条记录到底占了多少空间呢,随便用一个表举例(如上图),就着解决眼前问题的原则(oracle),网上简单查了查,发现生效了,就没深入了解了,包括其它数据库怎么解决,都没做研究。Oracle下,这两种方式是可行的:

1,vsize


统计每个字段的实际占用长度,然后相加,局限在

  1. 统计的是单条记录的长度,也就是你必须加上where语句过滤,不然的话,会把符合条件的每条记录的大小列出来
  2. 有空值的话,就计算不出来了

image  

2,从聚合统计表里查


select AVG_ROW_LEN from USER_TABLES
where table_name = 'YOUR_TABLE';

这个比较简洁有力啊

原文地址:https://www.cnblogs.com/walkerwang/p/3468041.html