Oracle Paging 쿼리 두가지
Posted 2013. 6. 20. 09:181. 전통적인 방법
SELECT *
FROM (SELECT ROWNUM rnum
,a.*
FROM (SELECT *
FROM members) a)
WHERE rnum BETWEEN startrow# AND endrow#;
2. Oracle 10g 이후부터 사용가능한 방법
SELECT * FROM
(
SELECT a.*,
CEIL((ROW_NUMBER() OVER ( ORDER BY #order by# desc|ASC )) / #page_row# ) as PAGENUM,
CEIL(COUNT(*) OVER() / #page_row) as TOTALPAGE
FROM table명
WHERE 1=1
and ...
)
where PAGENUM = 1
속도는 당연히(?) 2번이 빠를것으로 생각. 테스트는 skip.
'DBMS > Oracle' 카테고리의 다른 글
oracle ora-01031 insufficient privileges sysdba in Windows server (0) | 2017.01.11 |
---|---|
Oracle Duplication Error Skip 하기 (0) | 2016.02.22 |
[개발팁]Oracle Lock걸린 프로세스 조회 및 Lock해제 (0) | 2015.11.03 |
erwin을 이용한 Forward Engineering 생성시 comment 추가하기 (2) | 2013.10.01 |
Oracle Table 상세정보, column type, comment 조회하기 (0) | 2013.09.07 |
- Filed under : DBMS/Oracle