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
운영게시판
최근게시물
PostgreSQL Q&A 8819 게시물 읽기
No. 8819
페이징 처리시 limit ? 혹은 row_number() ?
작성자
궁금이
작성일
2011-05-22 17:19
조회수
11,026

구버젼에는 지원하지 않지만

8.4 버젼인가 부터 window 기능을 지원하는데요

 

오라클 같은 경우는 limit 가 없기 때문에 어쩔수 없이 desc 힌트와 rownum 를 이용하게 되는데요

 

postgresql 에서도 limit 대신 row_number() 를 사용해 보면 성능차원에서 어떨지 궁금합니다.

 

몇페이지 안 되는건 해당사항 없겠고요.. limit 의 겯우 offset 이 커짐에 따라 현저한 속도저하가 발생할텐데

 

오라클처럼 row_number() 로 이를 대신하면 어떨까... 하는 생각이 드는데요

 

혹시 경험있으신분 계신가요??

 

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

 

대충 백만건 넣고 테스트해봤는데...

 

row_number() 라는 것이 오라클의 rownum 처럼

시스템적으로 동작하는게 아니라서 그런지 효율이 limit 보다 떨어지네요..

 

어쩔수 없이 limit 를 사용해야 할 거 같습니다.

 

결국

limit 의 offset 을 줄일 수 있는 설계가 필요하군요.

 

궁금이님이 2011-05-23 18:31에 작성한 댓글입니다.
이 댓글은 2011-05-23 18:35에 마지막으로 수정되었습니다. Edit

 limit offset 이야기는 이곳에서 꽤 많은 이야기가 있었습니다. 

한 번 찾아보시면, 참한 해결책을 찾는데 도움이 될 것 같네요.

김상기(ioseph)님이 2011-05-26 09:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8822AIX 환경에서 PostgreSQL 설치 오류 [1]
양준선
2011-05-31
10178
8821Vacuum analyze시 out of memory [2]
이기정
2011-05-31
9182
8820[질문] text field 글자깨짐 문제. [1]
아이오
2011-05-24
9333
8819페이징 처리시 limit ? 혹은 row_number() ? [2]
궁금이
2011-05-22
11026
8818Windows 2008 Server 64bit에서 Postgresql 사용
이승미
2011-05-18
8933
8817[질문]날짜형변환
이카루스
2011-05-12
8625
8816[질문] "Databases statistics" 리셋하는 방법?? [2]
질문자
2011-04-29
9091
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다