데이터베이스 시트 의 blob 크기 를 어떻게 얻 습 니까?

1039 단어 OracleSQL
더 읽 기
프로젝트 에 서 는 데이터베이스 에 저 장 된 데이터 의 크기 를 해당 사용자 에 게 되 돌려 주 고 데이터베이스 시트 에 blob 필드 가 있어 야 합 니 다.
How can we query the size of blob?
 
데이터베이스 에 있 는 표 이름 을 user 라 고 가정 하면 전체 표 의 크기 를 얻 을 수 있 는 sql 은 다음 과 같 습 니 다.
SELECT sum( bytes)/1024/1024 size_in_MB
FROM user_segments

WHERE (segment_name = 'user'

OR segment_name in (
SELECT segment_name

FROM user_lobs

WHERE table_name = 'user'
UNION

SELECT index_name
FROM user_lobs

WHERE table_name = 'user'

) )

 
구체 적 으로 blob 의 크기 에 대해 Oacle 은 blob 필드 를 lobsegment 와 lob index 로 나 누 었 습 니 다. 아래 sql 을 이용 하여 검색 할 크기 를 뚜렷하게 볼 수 있 습 니 다.
 
SELECT segment_name, segment_type, bytes/1024/1024 size_in_MB

FROM user_segments

WHERE (segment_name = 'user'

OR segment_name in (
SELECT segment_name

FROM user_lobs

WHERE table_name = 'user'
UNION

SELECT index_name
FROM user_lobs

WHERE table_name = 'user'
) )
 
 
 
 
 

좋은 웹페이지 즐겨찾기