-
ORACLE 페이징 처리DEV/database 2023. 11. 14. 16:55
조회 데이터가 너무 많은 경우 데이터를 모두 불러오면 출력에 문제가 있을 수 있다.
(느리다던가... 부하가 너무 많이 걸린다던가...)
그런 경우 페이징을 사용하여 처리하는 것이 좋다.
-- 데이터를 한번 감싸고 일부를 가져온다고 생각하자. -- ROW_NUMBER() : 순번 매기기 -- [기준점 컬럼] : 페이징을 하기 때문에 기준점이 명확해야함. 중복값이 있으면 항상 일정한 값이 나올 수 있도록 잘 정렬해줄 것. -- [페이지 건수] : 한 페이지 몇 건을 표출할 것인지 설정 -- [조회할 페이지] : 조회할 페이지 번호 SELECT A.* FROM ( SELECT COUNT(*) OVER() AS TOTAL_CNT -- 총 카운트 , FLOOR( ( ROW_NUMBER() OVER(ORDER BY [기준점 컬럼]) - 1 ) / [페이지 건수] + 1 ) AS RNUM , SAMPLE_NM , SMAPLE_CD , SMAPLE_DT FROM [SAMPLE_TABLE] WHERE [조건절] ORDER BY [기준점 컬럼] ) A WHERE RNUM = [조회할 페이지]
'DEV > database' 카테고리의 다른 글
ORACLE 시간을 문자열로 변경 (0) 2023.11.14 ORACLE 현재시간 사용하기 (0) 2023.11.14 ORACLE TABLE의 데이터 삭제하기 (DELETE) (0) 2023.11.14 ORACLE TALBE의 데이터 수정하기 (UPDATE) (0) 2023.11.14 ORACLE TABLE에 데이터 추가하기 (INSERT) (0) 2023.11.14