티스토리 뷰

테이블 길이 구하기(컬럼 사이즈 합)


SELECT SUM (REALLENGTH)

  FROM (SELECT DATALENGTH, COLUMNNAME, REALLENGTH

          FROM (SELECT A.COLUMN_NAME AS COLUMNNAME, A.DATA_TYPE AS DATATYPE,

                       A.DATA_LENGTH AS DATALENGTH, B.COMMENTS AS COMMENTS,

                       A.NULLABLE AS NULLABLE,

                       CASE

                          WHEN DATA_TYPE = 'NUMBER'

                             THEN DATA_PRECISION

                          ELSE DATA_LENGTH

                       END AS REALLENGTH

                  FROM DBA_TAB_COLUMNS A, ALL_COL_COMMENTS B

                 WHERE A.OWNER = B.OWNER

                   AND A.TABLE_NAME = B.TABLE_NAME

                   AND A.COLUMN_NAME = B.COLUMN_NAME

                   AND A.OWNER = 'USER'                            

                   AND A.TABLE_NAME = 'TABLE_NAME') T)


평균 길이 구하기

--1

ANALYZE TABLE TABLE_NAME COMPUTE STATISTICS;


--2

SELECT avg_row_len

FROM user_tables 

WHERE table_name='TABLE_NAME ';


* 주의사항

평균 길이에서는 NUMBER타입이 22로 계산된다.

하지만 위쪽(테이블길이)의 REALLENGTH에서는 넘버타입을 실 컬럼 사이즈로 계산하기 때문에 수치가 틀어질 수 있다

맘 편하게 NUMBER을 22로 계산하려면 REALLENGTH말고 DATALENGTH합을 구한다

'개발 > DB' 카테고리의 다른 글

Mybatis #과 $의 차이  (2) 2014.11.10
몽고DB 설치  (0) 2014.01.22
테이블 정보(컬럼 정보, 코멘트 등등)  (0) 2013.11.11
[ORACLE] 달력  (0) 2012.09.14
[ORACLE] 디비 락 해제  (0) 2012.01.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함