Oracle表記錄位元組長長度的兩種計算方式

2021-09-22 03:02:20 字數 1133 閱讀 6277

一、獲取某個使用者下某個錶行記錄的長度

這個長度是表字段定義的長度,獲取方法:

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  

andowner=

upper

('使用者名稱'

)  group

byrollup

((owner, table_name, column_name, data_type, data_length)) 

二、根據表資料所佔總位元組數和表記錄數來獲取實際的每行記錄的平均長度

獲取表資料的所有位元組數:

select

segment_name,  

segment_type,  

nvl(

sum(bytes), 0)     

from

user_segments   

where

segment_type = 

'table'

andsegment_name = 

'表名'

group

bysegment_name, segment_type   

order

by3 

desc

; 獲取表總記錄數:

select

count

(*) 

from

表名  兩者求商即得每行記錄的平均位元組數。 

Oracle表記錄位元組長長度的兩種計算方式

oracle表記錄位元組長長度的兩種計算方式 一 獲取某個使用者下某個錶行記錄的長度 這個長度是表字段定義的長度,獲取方法 select owner,table name,column name,data type,data length,sum case data type when date t...

表記錄的操作

一 插入語句 insert 1 向employee中插入三個員工資訊,要求員工姓名分別是zs,ls,wangwu 二 更新語句 update 1 將所有員工薪水修改為5000元。update employee set salary 5000 2 將姓名為 zs 的員工薪水修改為3000元。updat...

ORACLE恢復刪除表或表記錄

對誤刪的表,只要沒有使用purge永久刪除選項,那麼從flashback table區恢復回來希望是挺大的。一般步驟有 1 從flashback table裡查詢被刪除的表 select from recyclebin order by droptime desc 2.執行表的恢復 flashbac...