Oracle表記錄字節長長度的兩種計算方式sql
1、獲取某個用戶下某個錶行記錄的長度
這個長度是表字段定義的長度,獲取方法:ide
- select owner,
- table_name,
- column_name,
- data_type,
- data_length,
- sum(case data_type
- when 'DATE' then
- 7
- when 'NUMBER' then
- 22
- else
- data_length
- end) length
- from all_tab_cols
- where table_name = upper('表名')
- and DATA_TYPE
- and owner=upper('用戶名')
- group by rollup((owner, table_name, column_name, data_type, data_length))
2、根據表數據所佔總字節數和表記錄數來獲取實際的每行記錄的平均長度spa
獲取表數據的全部字節數:string
- select segment_name,
- segment_type,
- nvl(sum(bytes), 0)
- from user_segments
- where segment_type = 'TABLE'
- and segment_name = '表名'
- group by segment_name, segment_type
- order by 3 desc;
獲取表總記錄數:it
- select count(*) from 表名
二者求商即得每行記錄的平均字節數。 table