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

 获取表总记录数:

 
  1. select count(*) from 表名 

 两者求商即得每行记录的平均字节数。 



本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/383367,如需转载请自行联系原作者

相关文章
|
3月前
|
SQL Oracle 关系型数据库
Oracle查询优化-计算字符在字符串中出现的次数
【2月更文挑战第3天】【2月更文挑战第7篇】只接上SQL
58 0
|
5月前
|
SQL Oracle 关系型数据库
Oracle之日期计算相关函数
Oracle之日期计算相关函数
46 0
|
8月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
68 0
|
4月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-复制表的定义及数据
【1月更文挑战第5天】【1月更文挑战第14篇】在Oracle数据库中,复制表定义和复制表数据是两个常见的操作。
54 1
|
2月前
|
存储 Oracle 关系型数据库
Oracle系列之七:表的创建与管理
Oracle系列之七:表的创建与管理
|
5月前
|
SQL Oracle 关系型数据库
Oracle之有哪些日期计算函数?
Oracle之有哪些日期计算函数?
115 0
|
5月前
|
Oracle 关系型数据库
Oracle - 表操作语句
Oracle - 表操作语句
25 0
|
8月前
|
Oracle 关系型数据库 数据库
Oracle数据库 查询所有表
Oracle数据库 查询所有表
118 1
|
9月前
|
SQL Oracle 关系型数据库
ORACLE——一条SQL计算同比、环比
ORACLE——一条SQL计算同比、环比
|
9月前
|
SQL Oracle 关系型数据库
Oracle中计算除法 ,解决除数为零报错问题
Oracle中计算除法 ,解决除数为零报错问题
226 0