인덱스로 PK1, PK2를 걸어두고 있는데 검색 쿼리로 select * from mytable where PK2; 라고 보내면 모든 열을 훑어 봅니다.
왜냐하면 PK2에는 인덱스가 걸려있지 않기 때문이지요.
인덱스를 타고 찾으려면 select * from mytable where PK1= 'condition1; and PK2 = 'condition2'; 와 같은 식으로 쿼리가 작성되어야 합니다.
인덱스가 걸려있는 키와 순서가 where 절 뒤에 있는 부분과 맞아야 인덱스를 타는 검색이 이뤄집니다.
대부분 인덱스와 검색 쿼리 사이의 불일치
대부분 인덱스와 검색 쿼리 사이의 불일치 때문입니다.
인덱스로 PK1, PK2를 걸어두고 있는데 검색 쿼리로 select * from mytable where PK2; 라고 보내면 모든 열을 훑어 봅니다.
왜냐하면 PK2에는 인덱스가 걸려있지 않기 때문이지요.
인덱스를 타고 찾으려면 select * from mytable where PK1= 'condition1; and PK2 = 'condition2'; 와 같은 식으로 쿼리가 작성되어야 합니다.
인덱스가 걸려있는 키와 순서가 where 절 뒤에 있는 부분과 맞아야 인덱스를 타는 검색이 이뤄집니다.
댓글 달기