一、获取某个用户下Oracle某个表行记录的长度
这个长度是表字段定义的长度,获取方法:
1.select owner,
2. table_name,
3. column_name,
4. data_type,
5. data_length,
6. sum(case data_type
7. when 'DATE' then
8. 7
9. when 'NUMBER' then
10. 22
11. else
12. data_length
13. end) length
14. from all_tab_cols
15. where table_name = upper('表名')
16. and DATA_TYPE
17. and owner=upper('用户名')
18. group by rollup((owner, table_name, column_name, data_type, data_length))
二、根据表数据所占总字节数和表记录数来获取实际的每行记录的平均长度
获取表数据的所有字节数:
1.select segment_name,
2. segment_type,
3. nvl(sum(bytes), 0)
4. from user_segments
5. where segment_type = 'TABLE'
6. and segment_name = '表名'
7. group by segment_name, segment_type
8. order by 3 desc;
获取表总记录数:
select count(*) from 表名
两者求商即得每行记录的平均字节数。 本文出自:亿恩科技【www.enkj.com】
服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]
|