t1 (startipnum number,
endipnum number,
locationid number)
테이블은 위처럼 구성되어 있습니다.
각 유저들의 ip가 들어오면서 start 지점과 end 지점 사이의 값으로 locationid 를 알아내는 쿼리입니다.
현재 사용하고 있는 쿼리의 경우
select locationid
from t1
where :userip between startipnum and endipnum
and rownum = 1;
:userip가 바인드 변수로 들어오고 있음
add constaint t1 primary key (startipnum, endipnum)
해당 pk 인덱스가 있어서 현재는 pk index를 ragne scan 하면서 풀리고 있습니다.
하지만 해당 쿼리가 테이블로우 자체가 많아 쿼리가 느려 빨리 풀렸으면 하여 문의 드립니다.
funcation based index를 생각해보았지만 between 형태는 못만드는거 같아서
해결책좀 알려주세요 ~