본문 바로가기
DB/MSSQL (SQLSERVER)

[MSSQL]SP_SPACEUSED로 row수 빠르게 조회하자! - MSSQL행수세는방법

by 커져라불어라 2020. 7. 29.
반응형

안녕하세요 투자하는 개발자 투개자입니다.


오늘은 SP_SPACEUSED를 통해 rows를 빠르게 조회하는 방법에 대해 이야기하려 합니다.


테이블의 row수를 확인해야할 때 어떻게 하면 좋을까요? 


SELECT COUNT(*FROM [스키마].[테이블]
cs



위에 나와있는 쿼리 처럼 COUNT를 통해 ROW수를 알아내곤 합니다.


하지만 COUNT로 알아내는 쿼리는 테이블의 ROW수가 적을 땐 빠르지만 만약 테이블의 크기 & ROW수가 크다면 어떤일이 벌어질까요?

SELECT COUNT를 하는 순간 극단적으로 말해서 하루종일 기다려야할지도 모릅니다.


그렇다면 대용량 테이블의 ROW수를 빠르게 가져올 수 있는 방법은 무엇일까요?

바로 SP_SPACEUSED를 사용하면 아무리 대용량 테이블이라도 ROW수를 빠르게 가져올 수 있습니다.


사용방법은 이렇습니다.

SP_SPACEUSED '스키마.테이블명'
cs



SP_SPACEUSED를 사용할 때는 반드시 작음따옴표(SINGLE QUOTATION MARK)를 붙혀야 합니다!

실제 속도차이를 살펴보겠습니다.

테이블 이름은 가명처리 했습니다 


26,943,829 ROW를 가지고 있는 테이블을 SELECT COUNT(*)할 때는 34초의 시간이 걸렸습니다.




하지만 SP_SPACEUSED를 사용한다면  0.153초만에 해당 ROWS수를 가져올 수 있었습니다.




SP_SPACEUSED로 ROWS수 뿐아니라 해당 테이블의 데이터크기, 인덱스사이즈, 할당사이즈를 한번에 알 수 있으니 참고하길 바랍니다!

반응형