Note: PLAN_TABLE is older version: Using simple plan output. 질문입니다. 0 1 711

by 물통20병 [Oracle 기초] [2018.01.26 14:30:21]


1. 1년에 한번쓰는 테이블에 데이터를 넣었는데요

2. db상에는 정상적으로 들어가는게 확인됩니다.

3. 응용프로그램에서 조회를 할 때 전체조회를 할 때 정렬순서가 꼬입니다.

4. 부분 조건을 줬을 때는 정상적으로 나와서 실행계획을 봤더니 Note: PLAN_TABLE is older version: Using simple plan output. 문구가 있네요

5. Note: PLAN_TABLE is older version: Using simple plan output.가 나오는 경우 index를 타지못하고 fulltable scan을 하는경우가 있나요?

6. Note: PLAN_TABLE is older version: Using simple plan output.이 정렬에 주는 영향을 알고 싶습니다.

by 마농 [2018.01.26 17:11:19]

PLAN_TABLE is older version 과 정렬은 관계 없을 듯 합니다.
정렬 순서가 원하는대로 안나오는 것은 정상입니다.
ORDER BY 정렬 구문을 사용하지 않았다면? 정렬을 보장하지 않습니다.
전체 조회시와 부분 조회시 정렬이 다른 것은 실행계획이 다르기 때문입니다.
전체 조회시엔 풀스캔을 부분 조회시엔 인덱스 스캔을 했을 것으로 판단됩니다.
인덱스 스캔시엔 인덱스 정렬 순서대로 나옵니다.
풀스캔시엔 테이블 읽어온 순서대로 나옵니다.
테이블의 자료는 정렬된 상태가 아니므로 정렬되어 나오지 않는게 정상입니다.
정렬을 원한다면 ORDER BY 구문을 사용해야 합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입