Post

<오라클 성능 고도화 원리와 해법1> Ch05 데이터베이스 Call 최소화 원리 - 개요

오라클 성능 고도화 원리와 해법1 - Ch05 데이터베이스 Call 최소화 원리 - 개요

모든 소프트웨어가 그렇듯 데이터베이스도 사용자로부터 일정한 명령을 전달받아 사용자 요구사항에 따라 충실히 일을 수행하고 그 결과를 리턴한다. DB 관리자를 위한 명령어도 매우 다양하지만 이들 명령어는 정형화된 DB 작업만을 처리하므로 오라클 개발팀에 의해 이미 최적화된 상태로 컴파일되어있다. 반면 일반 사용자의 데이터에 대한 요구사항은 너무 다양해 미리 최적화해서 컴파일해놓는 것은 불가능하다. 따라서 SQL이라는 구조화된 질의 언어를 이용해 DB에 요구사항을 전달하면 그것을 위한 처리 루틴을 동적으로 생성해서 최적화하고, 이를 처리하는 실제적인 프로시저(Row-Source)를 내부적으로 생성해서 컴파일한다. 그 과정에서 발생하는 비효율을 최소화하는 원리를 4잠에서 깊이 있게 다루었고, 그 중 과도한 Parse Call을 해소하는 원리도 포함하였다.

본 장에서는 Parse Call을 제외하고 SQL 수행중에 발생하는 Execute Call, Fetch Call을 줄이는 방법에 대해 설명하고, 데이터베이스 Call을 User Call과 Recursive Call로 나누어 각각을 최소화하는 원리와 방안에 대해서도 집중적으로 설명한다. DBA로부터의 관리적 명령어든 사용자로부터의 데이터 조작 명령어든 모두 데이터베이스 Call을 통해서 버프로세스에 전달되며, 불필요하고 반복적인 Call 수행횟수를 최소화하는 것은 데이터베이스 수행속도를 향상시키고 확장성을 높이는 매우 중요한, 어떻게 보면 가장 핵심적인 튜닝 요소라고 하겠다.

This post is licensed under CC BY 4.0 by the author.