1 데이터를 조회하는 원리
지금까지 우리가 수행한 SELECT 문을 떠올려 봅시다. 우리는 Oracle SQL Developer에서 SELECT 문을 작성하여 실행한 것뿐이었지만 오라클 데이터베이스 시스템은 다음과 같은 과정을 거칩니다.
그림 11-3 데이터베이스의 데이터 조회 단계
employees 테이블에서 employee_id가 100인 직원을 찾는다고 가정하겠습니다. 사용자는 employee_id가 100인 직원의 정보 조회를 오라클 데이터베이스 시스템에 요청합니다 (➊). 오라클 데이터베이스 시스템은 사용자에게 SELECT 문의 질의를 받으면 데이터베이스 메모리 안의 버퍼 캐시를 살펴봅니다. 버퍼 캐시는 자주 사용되는 테이블의 데이터 정보가 저장되어 있는 일종의 ‘가속 장치’이므로 검색 데이터가 버퍼 캐시 안에 있다면 데이터는 빠르게 조회되어 출력됩니다(➋). 하지만 버퍼 캐시에 조회하는 데이터가 없다면 데이터베이스 시스템은 디스크에 저장되어 있는 데이터를 찾아내어(➌) 버퍼 캐시로 복사한 후(➍) 결괏값을 사용자에게 반환합니다(➎). 후자처럼 디스크 안에 담긴 데이터 파일을 조회하는 경우에는 과정이 훨씬 복잡하고 수행 속도가 느리기 때문에 결괏값을 반환하는 데도 시간이 더 걸립니다.