Background Image
조회 수 5706 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

-- 테이블 스키마 선언별 ROW SIZE 산정

SELECT

        c.class_name,

        COUNT(a.class_name) AS count_column,

        CAST(SUM(CASE

               WHEN a.data_type = 'BIGINT' THEN 8.0

               WHEN a.data_type = 'INTEGER' THEN 4.0

               WHEN a.data_type = 'SMALLINT' THEN 2.0

               WHEN a.data_type = 'FLOAT' THEN 4.0

               WHEN a.data_type = 'DOUBLE' THEN 8.0

               WHEN a.data_type = 'MONETARY' THEN 12.0

               WHEN a.data_type = 'STRING' THEN a.prec

               WHEN a.data_type = 'VARCHAR' THEN a.prec

               WHEN a.data_type = 'NVARCHAR' THEN a.prec

               WHEN a.data_type = 'CHAR' THEN a.prec

               WHEN a.data_type = 'NCHAR' THEN a.prec

               WHEN a.data_type = 'TIMESTAMP' THEN 8.0

               WHEN a.data_type = 'DATE' THEN 4.0

               WHEN a.data_type = 'TIME' THEN 4.0

               WHEN a.data_type = 'DATETIME' THEN 4.0

               WHEN a.data_type = 'BIT' THEN FLOOR(prec / 8.0)

               WHEN a.data_type = 'BIT VARYING' THEN FLOOR(prec / 8.0)

               ELSE 0

        END) AS BIGINT) AS [size_column(byte)],

        MAX(c.class_type) AS class_type,

        MAX(c.partitioned) AS partitioned,

        CONCAT(MAX(p.partition_type), MAX(p.partition_expr)) AS partition_info

FROM

        db_class c

        JOIN db_attribute a ON a.class_name = c.class_name

        LEFT JOIN db_partition p ON p.class_name = a.class_name

WHERE

        c.is_system_class = 'NO'

        AND c.class_type = 'CLASS'

        AND c.class_name <> '_cub_schema_comments'

GROUP BY

        c.class_name;


-- 테이블 인덱스 선언별 ROW SIZE 산정

SELECT

        i.class_name,

        i.index_name,

        COUNT(ik.index_name) AS ke_count_column,

        CAST(SUM(CASE

               WHEN a.data_type = 'BIGINT' THEN 8.0

               WHEN a.data_type = 'INTEGER' THEN 4.0

               WHEN a.data_type = 'SMALLINT' THEN 2.0

               WHEN a.data_type = 'FLOAT' THEN 4.0

               WHEN a.data_type = 'DOUBLE' THEN 8.0

               WHEN a.data_type = 'MONETARY' THEN 12.0

               WHEN a.data_type = 'STRING' THEN a.prec

               WHEN a.data_type = 'VARCHAR' THEN a.prec

               WHEN a.data_type = 'NVARCHAR' THEN a.prec

               WHEN a.data_type = 'CHAR' THEN a.prec

               WHEN a.data_type = 'NCHAR' THEN a.prec

               WHEN a.data_type = 'TIMESTAMP' THEN 8.0

               WHEN a.data_type = 'DATE' THEN 4.0

               WHEN a.data_type = 'TIME' THEN 4.0

               WHEN a.data_type = 'DATETIME' THEN 4.0

               WHEN a.data_type = 'BIT' THEN FLOOR(prec / 8.0)

               WHEN a.data_type = 'BIT VARYING' THEN FLOOR(prec / 8.0)

               ELSE 0.0

        END) AS BIGINT) AS [index_size_column(byte)]

FROM

        db_index i

        JOIN db_index_key ik ON ik.index_name = i.index_name

        JOIN db_attribute a ON a.class_name = i.class_name

        AND ik.key_attr_name = a.attr_name

WHERE

        EXISTS (

               SELECT

                       1

               FROM

                       db_class c

               WHERE

                       c.class_name = i.class_name

                       AND c.is_system_class = 'NO'

                       AND c.class_type = 'CLASS'

                       AND c.class_name <> '_cub_schema_comments'

        )

GROUP BY

        i.class_name,

        i.index_name;

 


  1. CUBRID 와 DBCP의 관계

  2. 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기

  3. 큐브리드 포트 정리

  4. 큐브리드 마스터 소켓 디렉토리 변경방법

  5. Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결

  6. INSTR함수 사용하기

  7. group_concat(문자열 그룹처리) 함수 사용하기

  8. 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기

  9. Invalid XASL tree node content 에러

  10. ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트

  11. Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법

  12. 큐브리드 매니저 호스트 접속 시 JDBC 드라이버 찾을 수 없는 오류 해결

  13. 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인

  14. Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기

  15. 테이블 리스트 취합 SQL

  16. 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자.

  17. 테이블 컬럼 변경 및 추가

  18. CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기

  19. FOR UPDATE

  20. 'Has been interrupted.' CUBRIDException 발생

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales