쿼리 실행시 2500건 정도 나오고
실행되는 속력도 1초도 안걸립니다.
그런데 DISTINCT 만 넣으면 쿼리 실행속도가 5분정도 걸립니다.
SQL 결과후 DISTINCT를 실행하는거 아닌가요?
뭐 힌트나 특별히 방법이 있는것인지요?
왜 이런가요? 고수님들 답변좀 부탁 드려요....
쿼리수행후 결과가 나오는 방식은 두가지가 있습니다.
FIRST_ROW 와 ALL_ROWS입니다.
차이점은 일단 결과를 볼 수 있는데로 빨리 뿌려주는게 FIRST_ROW입니다.
그래서, 빨리 나오는것 처럼 보이죠.
ALL_ROWS는 모든 보여줄 자료를 다 수집한뒤 결과를 줍니다.
상대적으로 오래걸려보입니다.
DISTINCT는 처음 결과부터 끝까지 확인이 되야 나올 수 있습니다.
첫번째 결과와 맨 마지막 결과가 똑같지 않다고 단정지을 수 없기 때문이죠.
물론 그 작업을 수행하느라 그 만큼 더 오래걸리기도 하고요.