티스토리 뷰
데이터베이스 테이블의 로우가 많을 때는 한꺼번에 가져오는 것 자체가 시스템 부하가 되기 때문에 페이지 단위로 끊어서 가져올 필요가 있다.
아래는 Oracle 11g 기준으로 간단한 페이징 쿼리를 구현해봤다.
"SELECT * FROM (SELECT ROWNUM AS ROW_NUMBER, COUNT(*) OVER() TOTAL_ROW_COUNT, A.* FROM ( " + 페이징할 쿼리문 + " ) A ) WHERE ROWNUM <= :PAGE_SIZE AND ROW_NUMBER > (:PAGE_NUMBER-1) * :PAGE_SIZE;"
<참고자료>
http://stackoverflow.com/a/11692804 -- Alessandro Rossi
http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html -- Tom Kyte
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- jpa
- MySQL
- 구동계
- bootstrap
- Kendo UI
- node.js
- Spring Boot
- kotlin
- CentOS
- 자전거
- jstl
- spring
- maven
- 태그를 입력해 주세요.
- Tomcat
- 로드바이크
- java
- graylog
- Kendo UI Web Grid
- Eclipse
- 평속
- JHipster
- jsp
- DynamoDB
- chrome
- 알뜰폰
- Docker
- 로드 바이크
- Spring MVC 3
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함