如何计算Oracle的表一条记录占用空间的大小?
如何计算Oracle的表记录占用空间的大小?
是把所有字段的大小都加起来吗?varchar(256),char,number算几个字节?
------解决方案--------------------
第一行的列头信息所占字节数,再加上各个字段所占的字节数据,加起来是多少就是多少
列头信息记录每个字段的数据类型
------解决方案--------------------
1,你可以对表进行分析,然后在user_tables中可以看到平均的行长度(每条记录长度都不同);
2,你可以将表的某个数据库转储出去,自己看一下好了^_^。
------解决方案--------------------
有各种比较复杂的情况,计算data block是比较可靠的.
刷新一下统计信息,然后统计某个统计表即可。
select table_name,blocks*8192/1024/1024 size_m from user_tables