database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 1142 게시물 읽기
No. 1142
Q.아래 5608번의 2번 재질문합니다.
작성자
이경화
작성일
2008-07-01 18:15
조회수
4,731

자료를 조회시 1페이지당 30건씩 리스트페이지에 보인다고 하면

총 레코드건수가 300건이라고 하면

페이지 네비게이션

1,2,3,4,5,6,7,8,9,10 이렇게 표시하려고 합니다.

도움 부탁드립니다.

 

답변을 주신 click-count는 자료를 select 시 1건씩 자동 증가하는 함수인것같은데

제가 질문한것 하고는 좀 틀린것 같은데 제가 잘못이해를 했으면 바로 잡아주시구요...

좀 구체적으로 sql문을 주시면 감사하겠습니다.

 

빠른 답변 부탁드리겠습니다. 감사합니다.

 

이 글에 대한 댓글이 총 3건 있습니다.

reverse index와 rownum을 이용하는 페이지 방법을 요청하시는 것 같습니다.

관련하여 기술문서 게시판의 큐브리드 페이징 기법을 참고하시기 바랍니다.

 

>자료를 조회시 1페이지당 30건씩 리스트페이지에 보인다고 하면

>총 레코드건수가 300건이라고 하면

>페이지 네비게이션

>1,2,3,4,5,6,7,8,9,10 이렇게 표시하려고 합니다.

>도움 부탁드립니다.

>

>답변을 주신 click-count는 자료를 select 시 1건씩 자동 증가하는 함수인것같은데

>제가 질문한것 하고는 좀 틀린것 같은데 제가 잘못이해를 했으면 바로 잡아주시구요...

>좀 구체적으로 sql문을 주시면 감사하겠습니다.

>

>빠른 답변 부탁드리겠습니다. 감사합니다.

 

손승일님이 2008-07-02 09:15에 작성한 댓글입니다. Edit

답변을 드리겠습니다.

 

제가 이해하고 있는 것이 정확히 맞을지 모르겠으나 확인하시고 틀리다면 부가 설명 주시기 바랍니다.

 

일반 계시판에 페이지 당 30건(최근 부터)의 자료를 가져오려고 하시는 것이고, 이 페이지당 30건을 가져오는 쿼리를 요청 하신 건으로 이해를 하고 말씀드리겠습니다.

 

CUBRID에서는 index설정과 rownum을 이용한 page방법을 제공하고 있습니다.

 

정렬을 위하여 order by를 사용할 경우 일단 검색되어진 결과를 정렬 후 그 중 해당 범위(예, between 1 and 30)를 검색하게 됨으로 결과 값을 추출하는 것이 느려지게 됩니다.

 

따라서 이와 같은 문제를 해결하기 위해서 CUBRID의 경우 index를 이용하여 빠른 검색이 가능하도록 하고 있습니다. 즉 인덱스를 사용하여 검색 시 index의 순서대로 결과가 나오게 함으로 자연적으로 정렬한 효과를 얻을 수 있게 하는 것입니다.

 

order by 정렬 중 역순정렬(desc)의 경우는 reverse index를 설정하여 이용할 경우 별도의 order by 작업이 필요 없이 설정한 index로 검색이 가능합니다.

 

위의 모든 경우에서 index 를 반드시 사용해야 하므로 where 절에 index가 사용 가능하도록 조건에 들어가야 하며 index 사용을 선택하는 using index 구문을 사용해야 합니다.

 

사용의 예는 아래와 같습니다.

 

create reverse index re_i_station_id on station(station_id)

select rownum, station.* from station where station_id>’’ and rownum between 1 and 30 using index re_i_station_id(+)

 

위와 같이 조회시 최근 값부터 30건의 데이터를 가져오는 쿼리가 되며 이는 page 1에 해당할 것입니다. page 2의 값은 (rownum between 31 and 60)으로 조건을 주면 됩니다.

 

원하시는 질문의 답변이 되셨기를 바랍니다.

 

>자료를 조회시 1페이지당 30건씩 리스트페이지에 보인다고 하면

>총 레코드건수가 300건이라고 하면

>페이지 네비게이션

>1,2,3,4,5,6,7,8,9,10 이렇게 표시하려고 합니다.

>도움 부탁드립니다.

>

>답변을 주신 click-count는 자료를 select 시 1건씩 자동 증가하는 함수인것같은데

>제가 질문한것 하고는 좀 틀린것 같은데 제가 잘못이해를 했으면 바로 잡아주시구요...

>좀 구체적으로 sql문을 주시면 감사하겠습니다.

>

>빠른 답변 부탁드리겠습니다. 감사합니다.

 

김범준님이 2008-07-02 09:20에 작성한 댓글입니다. Edit

다운로드가 안되는데 확인좀 부탁드립니다

이경화님이 2008-07-02 10:15에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1146Q.큐브리드용 JDBC 없나요? [1]
궁금이
2008-07-03
4846
1144Q.DB 갱신 관련해서 [1]
이경화
2008-07-03
6049
1143Q.MSSQL서버에서 Uni Sql연결하기 [2]
윤지용
2008-07-02
6950
1142Q.아래 5608번의 2번 재질문합니다. [3]
이경화
2008-07-01
4731
1141Q.The CUBRID java stored procedure can not be used [2]
안성민
2008-07-01
4811
1140Q.자료조회 관련 문의입니다. [1]
이경화
2008-07-01
4721
1139Q.cubrid 7.3 upgrade 이후 DB연결 오류 [2]
문화정보센터
2008-07-01
4658
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다