Skip to content

NoOffset 실행시 PK 인덱스 못타는 케이스 해결하기 #2

@jojoldu

Description

@jojoldu

간혹 PK 인덱스를 태운것과 다른 인덱스를 태운것에 대한 결과를 옵티마이저가 잘못 해석할 때가 있음
JPA에서는 이를 force index로 인덱스 강제화를 할 수가 없기 때문에 쿼리를 수정하여서 PK 인덱스를 태우게 해야한다.

가장 쉬운 방법은 pk값을 < or > 로만 하지 않고 <> 로 제한적으로 묶어두어 대상범위를 최소화 시키는 것이다

이렇게 하면 PK 인덱스가 우선순위가 높다

즉, 아래의 자동생성 쿼리를

where id<758816030

아래와 같이 제한한다.

where
id>=758816030 and id<758816030+10000

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions