게시판 작업이건, 기타 다른 작업을 할때, 테이블의 전체 행을 구해야하는 경우가 많이 생긴다.
이럴때 보통 사용하는 것이 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 = '/*테이블 이름*/';
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 보낼 주소 :: http://coolsoo.net/blog/uni1978/trackback/1173598841

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

[로그인][오픈아이디란?]


BLOG main image
열정은 동사다. by 無聲呼人

카테고리

All that my life (387)
Notice (3)
Monologue (215)
책, 영화 그리고 음악 (15)
내가 보는 세상 (22)
I like computer (110)
WishList (9)

글 보관함

달력

«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Statistics Graph