1. 데이터베이스의 모든 테이블 행을 가장 빨리 세는 방법
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)이 일어난 행만 카운트한다.
2. 스토어드 프로시져에 대한 파라미터로 테이블 이름을 사용하는 방법
이것을 위해서는 동적인 SQL을 사용해야 한다. 다음 스크립트를 참조하기 바란다.
Create proc…