본문 바로가기

DBMS/SQL Server

[SQL Server] 모든 테이블의 Row Count 구하기

 

COUNT 함수를 사용하지 않고 모든 테이블의 Row Count 구하기

 

보통 테이블의 Row Count를 구하기 위해서 SELECT COUNT(*) FROM TABLE 과 같이

COUNT 함수를 사용해서 Count를 구하게 된다.

데이터베이스 내의 모든 테이블의 Row Count 가 필요할 때 일일이 COUNT 함수를

사용하여 Row Count를 구할 수도 있지만 COUNT 함수를 사용하지 않고

한번에 모든 테이블의 Row Count 를 구해보자.

 

 SELECT T.NAME [TABLENAME], SUM(ST.ROW_COUNT)[ROWCOUNT]

 FROM SYS.TABLES T

 INNER JOIN SYS.SCHEMAS S

 ON T.SCHEMA_ID = S.SCHEMA_ID

 INNER JOIN SYS.INDEXES I

 ON T.OBJECT_ID = I.OBJECT_ID

 INNER JOIN SYS.DM_DB_PARTITION_STATS ST

 ON T.OBJECT_ID = ST.OBJECT_ID

 AND I.INDEX_ID = ST.INDEX_ID

 WHERE I.INDEX_ID < 2

 GROUP BY T.NAME

 ORDER BY T.NAME

 

 

참고 : http://www.sqlservercentral.com/scripts/95872/