SQL 튜닝을 왜 해야 할까요 그러면? 사실 그렇잖아요, 뼈빠지게 쿼리를 열심히 짰는데..
튜닝까지 해야 한다고? 랜덤I/O로 인한 비효율을 최소화하기 위해 필요합니다.
그러려면 어제 길게길게 설명한 인덱스 스캔 방식도 중요하지만, 이게 만능은 또 아니란 말이지요. 알면 알 수록 알아야할 게 많아지는 건 어디나 마찬가지고 여기도 예외가 없다 이겁니다..
그래서 테이블을 어떻게 액세스해서 찾아들어가는지에 대해서도 알아야 합니다. SQL 조건에서 참조하는 칼럼을 인덱스가 모두 포함하지 않는다면, 인덱스 스캔 후에 테이블을 반드시 한번 더 읽어야 합니다.
스캔을 통해 조건에 맞는 소량의 데이터를 빨리 찾아내요. 근데 그 데이터를 ROWID로 찾는다 말이죠?
ROWID는 테이블 레코드를 찾기 위한 주소값이에요......
원문 링크 : SQL 튜닝과 Table Access