728x90

SQL 서버 데이터베이스 내에 존재하는 시스템 테이블 'sysindexes'에는 'rows'란 컬럼이 존재합니다.

이 컬럼은 테이블에 반영된 행들의 수를 갖고 있습니다.

다음 SQL문을 실행시키면 원하는 결과를 효과적으로 얻을 수 있을 것입니다.

 

select o.name, rows

    from sysobjects o inner join sysindexes i on o.id = i.id

    where i.indid < 2

    order by o.name

 

where 절의 "indid<2" 부분은 클러스터드 인덱스(clustered index) 또는 힙(heap) 정보를 찾지 않기 위해서 입니다.

이 결과는 실제로 트랜잭션(transaction)이 일어난 행만 카운트 합니다.

출처 : http://www.devpia.co.kr/Maeul/Contents/Detail.aspx?BoardID=42&MAEULNO=17&no=101&page=1

+ Recent posts