반응형
안녕하세요 투자하는 개발자 투개자입니다.
오늘은 SP_SPACEUSED를 통해 rows를 빠르게 조회하는 방법에 대해 이야기하려 합니다.
테이블의 row수를 확인해야할 때 어떻게 하면 좋을까요?
위에 나와있는 쿼리 처럼 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수 뿐아니라 해당 테이블의 데이터크기, 인덱스사이즈, 할당사이즈를 한번에 알 수 있으니 참고하길 바랍니다!
반응형
'DB > MSSQL (SQLSERVER)' 카테고리의 다른 글
[MSSQL] 누적값 구하기! (셀프조인!Self JOIN) 활용! (0) | 2020.08.11 |
---|---|
[MSSQL] WITH(NOLOCK)이란... (0) | 2020.07.28 |
[MSSQL] SERACH PROCEDURE! 특정 단어가 들어간 프로시져 찾기 (0) | 2020.07.28 |
[MSSQL] MERGE문 작성 방법 및 응용 (0) | 2020.07.27 |
MSSQL 이중화구성 Replication, Log Shipping, Mirroring, Cluster, Always On 방법! (0) | 2020.07.21 |