게시판 작업이건, 기타 다른 작업을 할때, 테이블의 전체 행을 구해야하는 경우가 많이 생긴다.
이럴때 보통 사용하는 것이 SELECT COUNT(*) 인데, 이 쿼리는 table fullscan을 이용하여 결과를 받아오기 때문에 대용량의 테이블의 경우 매우 비효율적인 쿼리가 된다.
MS-SQL의 경우
sysindexs 시스템 테이블을 사용한다.
SELECT rows
FROM sysindexes
WHERE id = OBJECT_ID('/*테이블 이름*/')
AND indid < 2
ORACLE의 경우
All_tables Dictionary를 사용한다.
SELECT NUM_ROWS FROM All_tables
WHERE OWNER = '/*소유자 계정 이름*/'
AND TABLE_NAME = '/*테이블 이름*/';


