PK의 MAX값 +1 하는 프로시저를 만들고 있는데
SELECT /*+ INDEX_DESC(....) */
FROM TABLE
WHERE ROWNUM =1
이 구문의 속도와
SELECT MAX(COL)
이 구문의 속도중 어떤것이 더 빠른지 궁금합니다.
100만건 기준으로 쿼리한다면 어떤방식이 더 나을까요?
둘다 인덱스 1건만 읽고 끝내는 방식으로 동작합니다. 1. INDEX FULL SCAN DESCENDING + COUNT STOPKEY 2. INDEX FULL SCAN (MIN/MAX) 단, 힌트를 잘못 사용하는 실수를 방지하려면 간결한 MAX가 좋겠네요.
상황에 따라 구사하시면...(plan 뜨는 거 중요합니다.)
http://scidb.tistory.com/entry/Indexdesc-%ED%9E%8C%ED%8A%B8%EC%99%80-rownum-1-%EC%A1%B0%ED%95%A9%EC%9D%80-%EC%95%88%EC%A0%84%ED%95%9C%EA%B0%80
이곳에 내용을 확인해 보세요. 자세하게 설명되어 있을겁니다.