728x90
DB관리를 하다보면 테이블의 용량을 확인하고 싶을때가 있다...
그럴때 하는게... 보고서 메뉴의 "테이블의 디스크 사용" 확인을 하면 된다....
그런데, 용량이 작아서 에러없이 잘 표시가 될때는 전혀 문제가 되지 않는다...
그런데, 오류가 발생하여 보고 싶어도 못보는 경우가 발생할때...
어떻게 해야 할까?
그래서 찾은 명령어...
이렇게 하면 해당 테이블의 디스크 사용량을 표시해 준다.... 근데 한두개 볼때는 전혀 문제가 되지 않는다....
테이블이 100개 이상 된다면?
언제 타이핑을 쳐야 할지.... 그래서 만들어 봤다...
SELECT name, rows = convert (char(11), rowscnt), reserved = LTRIM (STR (reserved_page_count * 8, 15, 0) + ' KB'), data = LTRIM (STR (pages * 8, 15, 0) + ' KB'), index_size = LTRIM (STR ((CASE WHEN used_page_count > pages THEN (used_page_count - pages) ELSE 0 END) * 8, 15, 0) + ' KB'), unused = LTRIM (STR ((CASE WHEN reserved_page_count > used_page_count THEN (reserved_page_count - used_page_count) ELSE 0 END) * 8, 15, 0) + ' KB') from (SELECT id, name FROM DB명.dbo.sysobjects where type='u') tbl inner join (SELECT object_id, SUM (reserved_page_count) reserved_page_count, SUM (used_page_count) used_page_count, SUM ( CASE WHEN (index_id < 2) THEN (in_row_data_page_count + lob_used_page_count + row_overflow_used_page_count) ELSE lob_used_page_count + row_overflow_used_page_count END ) pages, SUM ( CASE WHEN (index_id < 2) THEN row_count ELSE 0 END ) rowscnt FROM DB명.sys.dm_db_partition_stats group by object_id) main on main.object_id = tbl.id order by name
회사에서 관리하는 DB테이블의 사이즈를 확인해봤더니.... 대략 난감하다...
이전 개발자가 만들어 놓은 DB를 방치하다 싶이 지내다가 DB파일 용량이 20GB 가 넘어 가면서 이젠 안되겠다 싶어 테이블 디스크 사용량을 확인하기 시작했다...
그런데, 실제 데이터 용량보다 인덱스 용량이 5배나 더 많은 테이블 발견...
해당 테이블 인덱스 새로 구성하여 용량도 줄이고 성능도 10% 업시켰다..
|
디스크 사용량 (KB)
|
|
|
디스크 사용량 (KB)
|
||||||
저장갯수
|
전체용량
|
Data
|
Index
|
기타
|
|
저장갯수
|
전체용량
|
Data
|
Index
|
기타
|
1,797,057
|
209,800
|
121,200
|
88,368
|
232
|
|
1,797,346
|
209,864
|
121,224
|
88,392
|
248
|
2,354,937
|
7,931,432
|
1,103,136
|
6,826,408
|
1,888
|
->
|
2,355,291
|
2,265,848
|
1,045,432
|
1,219,824
|
592
|
2,354,941
|
2,033,952
|
599,928
|
1,433,376
|
648
|
|
2,355,299
|
2,034,816
|
600,064
|
1,434,016
|
736
|
#MS-SQL #DB #DBMS #테이블용량 #용량확인 #쿼리
본 블로그의 글은 공공정보와 개인적 생각의 글 임을 알려드립니다.
또한 오류가 있는 부분이 있으면 댓글로 알려주시기 바랍니다.
감사합니다.
반응형
'잡담' 카테고리의 다른 글
[수학익힘] 초등학교 1학년 "수학 익힘" 아빠도 모르겠는데.... (0) | 2021.04.08 |
---|---|
[우리말] 한글영문으로 표기방법(로마자표기법) (0) | 2021.02.16 |
이재명 지사가 제시한 기본대출권... 정부가 대신 갚아 준다? (0) | 2020.09.14 |
3040 문재인에 속았다. 1인 1주택 허용해라.. (0) | 2020.07.17 |
[원격데스크톱] Chrome 원격 데스크톱 5일 사용후기... (0) | 2020.07.06 |
댓글