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
운영게시판
최근게시물
Oracle Q&A 37845 게시물 읽기
No. 37845
rownum과 order by에 대해 답변좀 부탁드립니다.
작성자
개발자A(makusha)
작성일
2010-08-12 09:54
조회수
3,130

테이블에서 최신 정보를 10개씩 가져오려고 합니다.

select pboard_seq,rownum from PBOARD where rownum<=10 order by pboard_seq desc;

select cboard_seq,rownum from CBOARD where rownum<=10 order by cboard_seq desc;

 

이런식으로 다른 테이블 두개를 각각 쿼리를 실행하였습니다.

게시판을 찾아보니 rownum이 생성이 된 다음 order by가 실행되기때문에 rownum이 뒤죽박중 되는게 맞다고 하는데 실행해보면 첫번째 쿼리는 항상 일정하게 원하는 결과를 얻을수 있고,

두번쨰 쿼리는 rownum이 뒤죽박죽 나오는데 이렇게 같은 쿼리가 다른 결과를 나지게 되는 이유가 뭔지 알고 싶습니다.

고수님들의 답변 부탁드리겠습니다.

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

쿼리의 플랜을 확인해보시면

두 테이블에서 각각 사용된 index를 확인하실 수 있을겁니다.

 

일단 rownum 은 해당 index대로 만들어진다고 보시면 됩니다.

 

그 뒤에 order by 를 수행합니다.

암비님이 2010-08-12 10:02에 작성한 댓글입니다. Edit

보여주신 쿼리가 전부는 아니라고 생각됩니다.

보여주시지 않은 부분이 쿼리의 실행계획을 좌우할듯 합니다.

실행계획을 확인해 보시고 비교해 보세요.

마농(manon94)님이 2010-08-12 10:13에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
37849[질문] DB Link Table 에 Merge 문 사용이 Error 가 발생하네요... [3]
황동연
2010-08-13
5819
37847CONNECT BY 질문입니다. [2]
안동석
2010-08-12
3071
37846Row 생성하기.. [1]
아폴론
2010-08-12
3149
37845rownum과 order by에 대해 답변좀 부탁드립니다. [2]
개발자A
2010-08-12
3130
37844마지막 숫자 제외하고 값 가져오는 함수가 있나요 [2]
심심이
2010-08-12
2675
37843프로시져 호출시 가끔 세션이 쌓이면서 딜레이가 생기네요. [3]
개발자A
2010-08-11
2690
37842데이타베이스 표준?? [1]
박종덕
2010-08-11
2366
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다