너무나도 궁금하여 문의합니다.
DB는 오라클 10g 입니다.
하루 10~15만건 데이터가 쌓입니다.
누적된 데이터는 약 2억 8만건입니다.
기존에는 쿼리는 실행하면 평균 15~20분이면 결과가 나왔는데 (4개월 가량 문제 없었음)
그런데 얼마전 부터 결과를 돌리면 결과가 안 나왔습니다.
쿼리는 이런 형태 입니다.
select count(*)
from col1 not in (...) -- col1 결합인덱스로 유니크 인덱스
and col5 in (...) -- 인덱스 컬럼에 없음
플랜은 index full scan 입니다.
DBA에게 이상하다고 문의를 했습니다.
그런데 DBA가 하는 말이
dba : count 함수는 정렬이 필요하지 않은 함수죠?
me : 네;
dba: 쿼리는 종료가 되었는데 정렬을 해서 결과 값이 출력이 되지 않는 것입니다.
me: 네??? (대체 그게 뭔말이요? count 함수를 돌리는데 정렬을 해요?)
차마 dba에게 직접 묻지는 못했지만 저게 맞는 말인가요?
너무나 궁금하여 질문합니다.
count 함수를 호출하는데 정렬을 하나요?(아니 정렬을 해서 쿼리가 값이 안나온게 이해가 안되서요;;;;)
답변 주시면 감사하겠습니다.