안녕하십니까 초보개발자입니다
다름이 아니라 제가 axboot라는 오픈소스를 사용하여 개발중 페이징 처리를 하는데 이 프레임워크의 경우 페이징기능을 하면
---------------------------------------------------------------------------------------------------------------------------------------
SELECT ZY.* FROM ( SELECT ROWNUM AS xRnum ,COUNT(*) OVER () AS xRcnt ,ZX.* FROM ( 제가 작성한 SELECT 쿼리 ) ZX ) ZY WHERE ZY.xRnum BETWEEN 1 AND 30;
---------------------------------------------------------------------------------------------------------------------------------------
이런식으로 제가 작성한 쿼리 앞뒤로 쿼리를 자동으로 생성하여 SELECT 합니다
문제는 속도가 너무 오래걸립니다
예를 들어 총데이터 4만건중 SELECT 조건 데이터 15,000건이고 한페이지에 30건을 보여주는데 검색하는데 6초 정도가 소요됩니다..
페이지 하나 넘길때마다 6~7초가 소요되니 문제가 되고 있습니다.
자동으로 붙는 쿼리를 수정할 방법이 없다고 쳤을때 다른방법을 통해 쿼리를 빠르게 조회할 수 있는 방법이 있을까요?
오라클 페이징쿼리를 검색해서 나온 방법중에
---------------------------------------------------------------------------------------------------------------------------------------
SELECT *
FROM(
SELECT ROWNUM AS RNUM, A.*
FROM ( 조회할 데이터의 쿼리 ) A
WHERE ROWNUM <= '조회할 데이터의 최대 ROW'
)
WHERE RNUM > '조회할 데이터의 최소값-1';
---------------------------------------------------------------------------------------------------------------------------------------
이런 방법도 보았지만
자동으로 붙는 저 BETWEEN구절때문에 할수가 없더라구요
혹시 방법을 아시는분 계실까요?