SELECT 쿼리문이 너무 늦네요!? 0 2 1,600

by 정종고 [Oracle 기초] [2009.10.22 14:43:10]


안녕하세요!

3만건 정도 Select count(*) From t_table;

이 쿼리문이 실행하는 시간이 좀 걸리네요? 왜 그럴까요?

다른 테이블은 0.03초 정도 걸리는데... 이 테이블만 5초 정도 걸리네요!

왜 이리 늦죠?

혹시 이 테이블에 INSERT 작업이 많이 되어서 그런가요??

10초 주기로 10만 이상이 INSERT 작업을 처리하는데...... 이런 이유때문인가요?

이 쿼리문 때문에 다른 쿼리가 작업할 시간을 놓치는 것 같은데..... 해결 방법이 없나요?

빠른 답변 부탁드립니다.

 

by TeLl2 [2009.10.22 16:11:56]
대량의 데이터가 추가 되었다 삭제 되었다 하는 테이블인가요..
위와 같은 쿼리 실행시 때에 오라클 버전에 따라 FULL TABLE SCAN을 하게 되데요..
데이터 건수는 얼마 않되는데 시간이 많이 걸린다면
대량의 트랜젝션에 의해 건수 대비 익스텐트가 많이 할당되어
HWM(High Water Mark)까지 읽는데 시간이 오래 걸릴수 있습니다.
이경우 리오그 작업을 하시면 됩니다.

계속적으로 위와 같은 현상이 발생한다면 리오그 정책이나
응용 프로그램 정책을 세워야 할듯 하네요.

by 정종고 [2009.10.23 17:26:51]
10초 주기 데이터를 저장한 후, 1분 주기가 10초 테이블 데이터를 조회해서
평균 값을 1분 테이블에 저장하는 구조인데요!
그 테이블만 그런 현상이 일어납니다!?
이런 경우도 리오그 작업에 해당 되나요?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입