SELECT
rnum,
idx, b_idx, cate, orders, sub, subject
FROM (
SELECT
/*+index(t_board t_board_idx)*/
ROWNUM as rnum,
idx, b_idx, cate, orders, sub, subject
FROM
t_board
WHERE orders >0
)
WHERE
rnum BETWEEN 1 AND 10
백만건 조금 더 넘게 들어가 있는데요.
테스트 해 본 결과 한 6초 정도가 걸리는 군요....
원래 5초 정도 걸리는게 정상인지?.
인덱스를 잘못 걸었거나?.
쿼리를 잘못 생성한 것인지 궁금합니다..
예전에 rownum을 이용하는 것은 전체 글을 전부 소팅 한 후에
글을 자르는 형식이기 때문에 느리다는 얘기를 들었던 것 같은데요..
어떻게 다르게 하는 방법이 또 있나요?.
인라인뷰 안에 stop key를 추가해 보시죠.
그리고 실행 계획을 올려주시면 답변에 도움이 될것 같습니다.
그리고 조건에 orders > 0으로 주셨으니 당연히
orders의 컬럼타입은 number일것 같구요.
인덱스에도 특별한 문제는 없어 보입니다.
SELECT
rnum, idx, b_idx, cate, orders, sub, subject
FROM (
SELECT
/*+index(t_board t_board_idx)*/
ROWNUM as rnum,
idx, b_idx, cate, orders, sub, subject
FROM
t_board
WHERE orders >0
and rownum <= 10 ---> 추가
)
WHERE rnum BETWEEN 1 AND 10
'SQL > ORACLE' 카테고리의 다른 글
[본문스크랩] Oracle의 XDB의 8080포트를 바꾸는 방법 (0) | 2014.02.13 |
---|---|
[본문스크랩] window 2000, 2003에서 오라클 삭제하기 (0) | 2014.02.13 |
[Oracle] XDB, 8080포트 지우기 (0) | 2014.02.13 |
[본문 스크랩] START WITH와 CONNECT BY 관련 용어 (0) | 2014.02.13 |
[Oracle]요일 구하기 (0) | 2014.02.13 |
[Oracle]케릭터셋 변경하기 (0) | 2014.02.13 |
[펌] 오라클 한글이 깨질때 한글 Character Set 설정 (0) | 2014.02.13 |
[펌] Translated Oracle Product QNA (0) | 2014.02.13 |