CREATE TABLE EXAMPLE(COL1 NUMBER, COL2 NUMBER);
CREATE INDEX EXAMPLE_IDX ON EXAMPLE(COL1);
SELECT /*+ USE_INDEX(EXAMPLE) */ *
FROM EXAMPLE
WHERE COL1 > 0
AND ROWNUM <= 1000;
SELECT STATEMENT TABLE ACCESS BY INDEX ROWID BATCHED TABLE "EXAMPLE" INDEX RANGE SCAN "EXAMPLE_IDX" |
12c 이후 "TABLE ACCESS BY INDEX ROWID BATCHED TABLE" 의 등장으로
인덱스와 rownum 조합의 결과가 완전하지 않다는 글을 보았는데
DBMS_RANDOM 함수를 사용하여 10만건 정도를 테스트해보니,
"TABLE ACCESS BY INDEX ROWID BATCHED TABLE"
가 발생하여도 정렬을 지키면서 결과가 출력되는 것을 확인하였습니다.
(10만건 정도면 테스트 하기에는 충분한 결과 같은데...부족해서 일까요)
12c 이후 인덱스와 rownum 조합의 결과가 완전하지 않다는 말은 신뢰할 수 있을지 궁금합니다.