본문 바로가기
Programming/MSSQL

MSSQL 테이블 인덱스, 인덱스 사이즈, row count 조회

by 제타 2018. 4. 16.
반응형

DB에서 대량의 데이터를 다룰 때 사실 테이블 사이즈만 볼 것이 아니라 인덱스도 같이 봐줘야 한다.

인덱스도 엄연히 테이블처럼 크기를 차지하니까.. 어떠한 경우든 배보다 배꼽이 더 크면 안되지 않을까?


mssql에서 파일그룹 내 테이블 인덱스와 사이즈, row count 조회하는 쿼리는 다음과 같다.



select ds.name, object_name(o.object_id) as table_name, isnull(i.name,'HEAP') as index_name, i.type_desc

 , convert(numeric(15,1),sum(reserved_page_count)*8./1024/1024) as reserved_size_gb

 , max(row_count) as row_count 

from sys.dm_db_partition_stats ps

 join sys.indexes i on ps.object_id = i.object_id and ps.index_id = i.index_id

 join sys.data_spaces ds on i.data_space_id = ds.data_space_id

 join sys.objects o on ps.object_id = o.object_id and o.type = 'U'

WHERE ds.name= 'PRIMARY'

group by ds.name, object_name(o.object_id), isnull(i.name,'HEAP'), i.type_desc

order by reserved_size_gb desc

반응형