간혹 PK 인덱스를 태운것과 다른 인덱스를 태운것에 대한 결과를 옵티마이저가 잘못 해석할 때가 있음
JPA에서는 이를 force index로 인덱스 강제화를 할 수가 없기 때문에 쿼리를 수정하여서 PK 인덱스를 태우게 해야한다.
가장 쉬운 방법은 pk값을 < or > 로만 하지 않고 <> 로 제한적으로 묶어두어 대상범위를 최소화 시키는 것이다
이렇게 하면 PK 인덱스가 우선순위가 높다
즉, 아래의 자동생성 쿼리를
아래와 같이 제한한다.
where
id>=758816030 and id<758816030+10000
간혹 PK 인덱스를 태운것과 다른 인덱스를 태운것에 대한 결과를 옵티마이저가 잘못 해석할 때가 있음
JPA에서는 이를 force index로 인덱스 강제화를 할 수가 없기 때문에 쿼리를 수정하여서 PK 인덱스를 태우게 해야한다.
가장 쉬운 방법은 pk값을 < or > 로만 하지 않고 <> 로 제한적으로 묶어두어 대상범위를 최소화 시키는 것이다
즉, 아래의 자동생성 쿼리를
아래와 같이 제한한다.