SQL 처리 과정 질문입니다. 0 2 1,440

by 한국초코우유 [2013.12.09 18:00:45]


SQL 처리시

실행을 하고 페치 과정을 거칩니다.

실행(Execute)할 때 SQL 파싱을 통해 실행계획을 세운 것을 기반으로 실행하는데

실행 과정에서 버퍼캐시에 있는 데이터를 활용하는 것인가요?

아니면 페치(Fetch)가 데이터를 가져온다고 하는데,

페치 과정에서 버퍼캐시에 있는 데이터를 활용하는 것인가요?
by 용근님 [2013.12.09 18:09:44]
http://aozjffl.tistory.com/174

execute

:메모리에 있는 것을 읽음 - logical read 또는 cache hit라고 부른다.
 파일에 있는 것을 읽음 - physical read 또는 cache miss라고 부른다.


fetch

:가서 가져 오다.라는 뜻으로 select에서만 일어난다. 필요할 경우 sort가 됨
database buffer cache의 정렬이 안된 데이터를 PGA로 가져와서 정렬해서 리턴

by 아발란체 [2013.12.09 18:18:37]
음... 저도 궁금하네요 ~ ㅋㅅㅋ)ㆀ
관련 내용을 이제 막 공부하고 있어서...

책에서는 (SGC)버퍼 캐시에 있는 것을 읽는데
버퍼캐시에 없으면 디스크에서 읽어서 버퍼 캐시에 적재 후 버퍼 캐시를 읽는다고 한 것 같은데

근데 패치 개념이 버퍼 캐시가 아닌 이전 개념에서 적용되는게 아닐까... 찍어 봅니다..  ~ ㅌㅌㅌㅌ==3 ==3


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