Notice
Recent Posts
Recent Comments
Link
말랑말랑제리스타일
[Oracle] 테이블 Row 수 및 사이즈로 정렬하기 본문
Oracle 테이블을 정리하다보면 Row 수 또는 사이즈로 정렬해서
테이블 정리의 우선순위를 뽑아볼 수 있을 것 같은데요
일일이 Count(*)로 테이블 Row 수를 조회하면 속도가 느리고 한참 기다려야 하죠
그런 상황 대신 한번에 전체 테이블을 Row 수로 정렬해서 뽑아볼 수 있는 쿼리 전달합니다
SELECT TABLE_NAME,NUM_ROWS FROM USER_TABLES ORDER BY NUM_ROWS DESC;
이건데요 이렇게 조회하면 해당 유저의 전체 테이블과 Row 수를 뽑아볼 수 있습니다
그럼 Row 수가 많다고 단순히 큰 테이블일까요?
아니죠 Column 수도 생각해야되고 확장 관련된 요소도 테이블 사이즈에 영향을 미치는데요
그런 상황을 다 고려해서 실제 테이블의 크기 순으로 뽑아볼 수 있는 쿼리도 있습니다
바로 USER_SEGMENTS 테이블을 조회하는건데요
SELECT SEGMENT_NAME, BYTES FROM USER_segments WHERE SEGMENT_TYPE = 'TABLE' ORDER BY BYTES DESC;
보면 딱 알겠지만 USER_SEGMENTS 테이블에서는 테이블 뿐만 아니라 Index 등도 사이즈 별로 뽑아볼 수 있고
Oracle 테이블 정리시 유용한 쿼리일 것 같네요
'데이터베이스 > Oracle SQL' 카테고리의 다른 글
Oracle Connect By Prior 계층형 쿼리 간단설명 (0) | 2022.01.11 |
---|---|
[Oracle] Varchar2 단위 Char인지 Byte인지 확인 (0) | 2022.01.05 |
[Oracle] Grant 구문으로 테이블 권한 주기 (0) | 2022.01.01 |
[Oracle] 오라클 버전 조회 쿼리 (0) | 2021.12.31 |
[Oracle] 테이블 Column Size 변경 (1) | 2021.12.30 |
Comments