예를들어 다음과 같은 복합인덱스가 있을때..
my_index on tab_A(col1 , col2, col3)
어떤 SQL 쿼리의 WHERE 절에서 col1 에 관한 조건만 있고, col2, col3는 전혀 읽거나 조건이 없을때 이 쿼리가 my_index를 타지 않는것이 정상적인 동작인가요?
이상하게 실행계획상에는 PK_index 만 사용하고 저 인덱스를 사용하지 않는걸로 나와서요..
원래 저는 오라클 관리자인데 오라클에서는 저경우 my_index를 사용하거든요 (물론 cost를 따져서 이익일때..) 그래서 SQL도 당연히 그럴줄만 알았는데 이상하게 자꾸 Pk 인덱스만 타는걸로 나와서 제가 제대로 본건지 궁금해서 질문 올려봅니다.
my_index on tab_A(col1 , col2, col3)
어떤 SQL 쿼리의 WHERE 절에서 col1 에 관한 조건만 있고, col2, col3는 전혀 읽거나 조건이 없을때 이 쿼리가 my_index를 타지 않는것이 정상적인 동작인가요?
이상하게 실행계획상에는 PK_index 만 사용하고 저 인덱스를 사용하지 않는걸로 나와서요..
원래 저는 오라클 관리자인데 오라클에서는 저경우 my_index를 사용하거든요 (물론 cost를 따져서 이익일때..) 그래서 SQL도 당연히 그럴줄만 알았는데 이상하게 자꾸 Pk 인덱스만 타는걸로 나와서 제가 제대로 본건지 궁금해서 질문 올려봅니다.
Comment 1
-
자리비움
2014.11.26 09:53
sql 서버도 cost 따져서 이익일때 my_index 를 사용합니다.sp_recompile 해보신 후 실행계획을 다시 확인해보세요.