<오라클 성능 고도화 원리와 해법1> Ch04-08 애플리케이션 커서 캐싱
오라클 성능 고도화 원리와 해법1 - Ch04-08 애플리케이션 커서 캐싱 세션 커서를 캐싱하면 SGA의 공유 커서를 빠르게 찾아서 커서를 오픈할 수 있다. 하지만 세션 커서 캐시에 있는 SQL을 수행하더라도 공유 커서 힙을 Pin 하고 실행에 필요한 메모리 공간을 PGA에 할당하는 등의 작업은 반복하게 된다. 이 과정마저 생략하고 빠르게 SQL을 ...
오라클 성능 고도화 원리와 해법1 - Ch04-08 애플리케이션 커서 캐싱 세션 커서를 캐싱하면 SGA의 공유 커서를 빠르게 찾아서 커서를 오픈할 수 있다. 하지만 세션 커서 캐시에 있는 SQL을 수행하더라도 공유 커서 힙을 Pin 하고 실행에 필요한 메모리 공간을 PGA에 할당하는 등의 작업은 반복하게 된다. 이 과정마저 생략하고 빠르게 SQL을 ...
오라클 성능 고도화 원리와 해법1 - Ch04-07 세션 커서 캐싱 지금까지 설명한 것처럼 커서를 공유할 수 있는 형태로 SQL을 작성하면 하드 파싱을 최소화해 궁극적으로 시스템 확장성을 높일 수 있다. 그런데 하드 파싱을 하지 않더라도 SQL 구문을 분석해서 해시 값을 계산하고, library cache 래치를 획득한 후 라이브러리 캐시에서 커서를...
오라클 성능 고도화 원리와 해법1 - Ch04-06 바인드 변수의 부작용과 해법 바인드 변수 사용과 관련해 꼭 알아야 할 중요한 사실이 있다. 앞선 그림 4-5에서 본 SQL 수행 절차를 다시 상기해보자. 바인드 변수를 사용하면 처음 수행할 때 최적화를 거친 실행 계획을 캐시에 저장하고, 실행 시점에는 그것을 그대로 가져와 값을 다르게 바인딩하...
오라클 성능 고도화 원리와 해법1 - Ch04-05 바인드 변수의 중요성 바인드 변수의 중요성을 설명하기 전에 간단한 테스트를 먼저 수행해보자. 눈으로만 보고 지나치지 말고 반드시 직접 테스트 해 보기 바란다. 인덱스를 만들고, 통계 정보를 만든 다음에 정상적으로 인덱스를 잘 타는지 실행 계획까지 확인해보았다. 이제 바인드 변수를 사용한 경우와...
오라클 성능 고도화 원리와 해법1 - Ch04-04 커서 공유 (1) 커서란? 커서(Cursor)는 상황에 따라 여러 가지 의미로 사용되므로 커서 공유를 설명하기에 앞서 커서가 무엇인지 그 의미부터 명확히 할 필요가 있다. 결론부터 말하면, 우리가 흔히 말하는 커서는 아래 3가지를 모두 일컫는 말이다. 공유 커서(shared cursor):...
오라클 성능 고도화 원리와 해법1 - Ch04-03 라이브러리 캐시 구조 라이브러리 캐시는 Shared Pool 내에 위치하며, SQL 공유 커서 및 데이터베이스 오브젝트(테이블, 인덱스 등)에 대한 정보를 관리한다. 그리고 여기에 저장되는 정보의 단위를 라이브러리 캐시 오브젝트(이하 LCO)라고 부른다. SQL 커서33)뿐 아니라 컴파일을 거친 ...
오라클 성능 고도화 원리와 해법1 - Ch04-02 SQL 처리 과정 그림 4-5는 SQL 처리 과정을 요약한 것이다. 사용자가 SQL 문을 던지면 오라클은 SQL 파싱을 거친 후 해당 SQL이 메모리에 캐싱돼 있는지를 먼저 확인한다. 만약 메모리에서 찾으면 곧바로 실행할 수 있지만, 찾지 못했을 때는 최적화(Optimization) 단계를 거치...
오라클 성능 고도화 원리와 해법1 - Ch04-01 SQL과 옵티마이저 SQL(Structured Query Language)을 4세대 언어(4GL)라고 말한다. 4세대 언어라고 하면, Visual Basic, Delphi, PowerBuilder 같은 GUI 환경의 비주얼 개발 툴을 일컫는 말인데, SQL이 왜 4세대 언어인지 의아할 것이다. 4세...
오라클 성능 고도화 원리와 해법1 - Ch04 라이브러리 캐시 최적화 원리 - 도입 본 장에서는 DBMS가 SQL을 처리하는 과정을 설명하고, 특히 SQL 파싱과 최적화 단계에서 부하가 발생하는 원리에 대해 자세히 다룬다. 아무리 강조해도 지나치지 않은 바인드 변수 사용의 중요성을 역설하고, 바인드 변수를 사용했을 때 생길 수 있는 부작용과 해법...
오라클 성능 고도화 원리와 해법1 - Ch03-12 데이터베이스 성능 고도화 정석 해법 모든 문제 해결 프로세스처럼 데이터베이스도 그림 3-15와 같은 절차에 따라 문제를 해결해 나간다. 지금까지 설명한 내용을 통해 성능 튜닝에 필요한 자료를 수집하고, 분석 및 진단하는 방법에 대해 어느 정도 배경 지식을 갖게 되었을 것이다. 특히, OWI에 ...