Background Image
조회 수 4179 추천 수 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. synonym에 대하여

    Date2023.09.07 Category질의작성 By김민종 Views257
    Read More
  2. VALUES 절 활용하기

    Date2020.05.13 Category질의작성 By황영진 Views814
    Read More
  3. 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법

    Date2019.01.29 Category질의작성 By엄기호 Views7229
    Read More
  4. 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기

    Date2018.04.10 Category질의작성 By성진 Views1108
    Read More
  5. JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자.

    Date2017.10.10 Category질의작성 By성진 Views1325
    Read More
  6. 테이블 명세서 쿼리

    Date2017.08.04 Category질의작성 By성진 Views3178
    Read More
  7. loose index scan을 활용한 효과적인 쿼리 튜닝 방안

    Date2017.06.01 Category질의작성 By박세훈 Views2409
    Read More
  8. CONNECT BY 절 포함 질의 튜닝 예제

    Date2017.02.28 Category질의작성 By박세훈 Views9755
    Read More
  9. UPDATE에서 조인을 통해, 결과값 수정하는 방법

    Date2016.12.27 Category질의작성 By박동윤 Views7176
    Read More
  10. subquery를 이용한 튜닝예제

    Date2016.12.27 Category질의작성 By김창휘 Views3322
    Read More
  11. 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기

    Date2016.08.10 Category질의작성 By성진 Views5576
    Read More
  12. INSTR함수 사용하기

    Date2016.06.29 Category질의작성 By엄기호 Views9261
    Read More
  13. group_concat(문자열 그룹처리) 함수 사용하기

    Date2016.06.29 Category질의작성 By권호일 Views28244
    Read More
  14. 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기

    Date2016.05.18 Category질의작성 By권호일 Views6368
    Read More
  15. ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트

    Date2016.04.04 Category질의작성 By김창휘 Views9335
    Read More
  16. 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인

    Date2016.03.21 Category질의작성 By성진 Views4179
    Read More
  17. Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기

    Date2016.03.21 Category질의작성 By김창휘 Views4646
    Read More
  18. 테이블 리스트 취합 SQL

    Date2016.03.19 Category질의작성 By김창휘 Views5522
    Read More
  19. 테이블 컬럼 변경 및 추가

    Date2016.02.29 Category질의작성 By정만영 Views21845
    Read More
  20. FOR UPDATE

    Date2016.01.27 Category질의작성 By정만영 Views5990
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

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