데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요
로그 테이블 관련해서 데이터를 조회하는데 너무 느려서 이것저것 튜닝할 곳이 어디 있는지 열심히 찾아보는 중입니다.

SELECT U_ID, COUNT(U_ID) CNT
FROM E_LOG WITH(readuncommitted) 
WHERE E_ID = 'event_121204'
AND CONVERT(VARCHAR, RDATE , 112) BETWEEN CONVERT(VARCHAR, '20121203', 112) AND CONVERT(VARCHAR, '20121203', 112) 
GROUP BY U_ID
ORDER BY CNT DESC

위와 같은 쿼리를 실행하니 30분이 넘게 소요됩니다.
그리고 E_ID 와 RDATE는 넌 클러스터드 인덱스가 걸려 있구요.

위에 AND RDATE 부분만 빼면 인덱스를 타고 아주 빠르게 데이터를 가져 올 수 있는데 RDATE 부분 때문에 30분이 넘게 걸리는 것입니다.

그래서 RDATE 부분의 쿼리를
AND RDATE >= '20121203' AND RDATE < DATEADD(day, 1, '20121203')
AND RDATE BETWEEN '2012-12-03 00:00:00.000' AND '2012-12-03 23:59:59.997'
AND RDATE BETWEEN CONVERT(datetime, '2012-12-03 00:00:00.000') AND CONVERT(datetime, '2012-12-03 23:59:59.997')

이 세가지를 모두 해봐도 인덱스를 타지 않네요.
이것저것 테스트 해보니 WHERE 조건에 한가지만 쓰면 인덱스를 타는데 E_ID, RDATE 둘 다 쓰면 인덱스를 안타는 문제인 것입니다.

이에 대한 해결 방법을 알고 싶습니다..ㅜㅠ 몇시간째 테스트 해보는데 방법을 못찾겠네요.
No. Subject Author Date Views
6194 두개의 테이블의 데이터를 이용하여 결과 데이터를 만들고 싶습니다. [3] 난키군 2012.12.07 4943
6193 오라클 사용자 정의 함수 질문있습니다. 정보보안 2012.12.07 6143
6192 복제(2008R2)관련 질문드립니다.. [2] 문수정 2012.12.07 44956
6191 round 관련 문의 입니다. [3] 호짱 2012.12.07 19659
6190 프로시져에 관해 질문드립니다. [2] Lynn 2012.12.07 23346
6189 스크립트 생성 마법사로 스크립트 생성시 개체별 저장 [1] 파릇파릇 2012.12.07 5032
6188 모든 특수문자를 문자로 받을수 없을까요? [1] 군고구마 2012.12.07 5925
6187 캐릭터셋 과 쿼리 문의 [1] akado 2012.12.07 6073
6186 GUI에서 작업하는것과 SCRIPT로 작업하는것... [2] 문수정 2012.12.06 22319
6185 월별 집계를 구하는 방법에 대해서.. [4] SQL은힘들다 2012.12.06 7046
6184 특정시간대 실행되는 스케줄을 관련 질문. [2] 냠냠10 2012.12.06 5288
6183 방금 Insert 한 값만 뽑을수 있나요? [3] 군고구마 2012.12.06 6895
6182 디비 쿼리에서 입력한 값과 비슷한 값을 검색을 할려고 합니다. [3] 듀듀리 2012.12.05 5604
6181 interscet 질문입니다! [6] 군고구마 2012.12.05 4566
6180 컬럼 암호화 데이터 이전 문의 [1] 괜차나1 2012.12.05 5423
6179 원격DB간 실시간데이타 증분처리를 어떤방식으로해야할지..... [6] 문수정 2012.12.05 5520
6178 동일 테이블에 같은 값 찾기 [6] 군고구마 2012.12.05 7709
6177 데이터 베이스 복원과 관련하여 [4] 래리 2012.12.04 5503
6176 월별 통계를 구하려고 합니다. [5] 치맥 2012.12.04 5432
» 쿼리시 where 조건에서 index 여부 문의 [6] FeLLEN 2012.12.04 5387





XE Login