Refigo Blog

<오라클 성능 고도화 원리와 해법1> Ch04-06 바인드 변수의 부작용과 해법

오라클 성능 고도화 원리와 해법1 - Ch04-06 바인드 변수의 부작용과 해법 바인드 변수 사용과 관련해 꼭 알아야 할 중요한 사실이 있다. 앞선 그림 4-5에서 본 SQL 수행 절차를 다시 상기해보자. 바인드 변수를 사용하면 처음 수행할 때 최적화를 거친 실행 계획을 캐시에 저장하고, 실행 시점에는 그것을 그대로 가져와 값을 다르게 바인딩하...

<오라클 성능 고도화 원리와 해법1> Ch04-05 바인드 변수의 중요성

오라클 성능 고도화 원리와 해법1 - Ch04-05 바인드 변수의 중요성 바인드 변수의 중요성을 설명하기 전에 간단한 테스트를 먼저 수행해보자. 눈으로만 보고 지나치지 말고 반드시 직접 테스트 해 보기 바란다. 인덱스를 만들고, 통계 정보를 만든 다음에 정상적으로 인덱스를 잘 타는지 실행 계획까지 확인해보았다. 이제 바인드 변수를 사용한 경우와...

<오라클 성능 고도화 원리와 해법1> Ch04-04 커서 공유

오라클 성능 고도화 원리와 해법1 - Ch04-04 커서 공유 (1) 커서란? 커서(Cursor)는 상황에 따라 여러 가지 의미로 사용되므로 커서 공유를 설명하기에 앞서 커서가 무엇인지 그 의미부터 명확히 할 필요가 있다. 결론부터 말하면, 우리가 흔히 말하는 커서는 아래 3가지를 모두 일컫는 말이다. 공유 커서(shared cursor):...

<오라클 성능 고도화 원리와 해법1> Ch04-03 라이브러리 캐시 구조

오라클 성능 고도화 원리와 해법1 - Ch04-03 라이브러리 캐시 구조 라이브러리 캐시는 Shared Pool 내에 위치하며, SQL 공유 커서 및 데이터베이스 오브젝트(테이블, 인덱스 등)에 대한 정보를 관리한다. 그리고 여기에 저장되는 정보의 단위를 라이브러리 캐시 오브젝트(이하 LCO)라고 부른다. SQL 커서33)뿐 아니라 컴파일을 거친 ...

<오라클 성능 고도화 원리와 해법1> Ch04-02 SQL 처리 과정

오라클 성능 고도화 원리와 해법1 - Ch04-02 SQL 처리 과정 그림 4-5는 SQL 처리 과정을 요약한 것이다. 사용자가 SQL 문을 던지면 오라클은 SQL 파싱을 거친 후 해당 SQL이 메모리에 캐싱돼 있는지를 먼저 확인한다. 만약 메모리에서 찾으면 곧바로 실행할 수 있지만, 찾지 못했을 때는 최적화(Optimization) 단계를 거치...

<오라클 성능 고도화 원리와 해법1> Ch04 라이브러리 캐시 최적화 원리 - 도입

오라클 성능 고도화 원리와 해법1 - Ch04 라이브러리 캐시 최적화 원리 - 도입 본 장에서는 DBMS가 SQL을 처리하는 과정을 설명하고, 특히 SQL 파싱과 최적화 단계에서 부하가 발생하는 원리에 대해 자세히 다룬다. 아무리 강조해도 지나치지 않은 바인드 변수 사용의 중요성을 역설하고, 바인드 변수를 사용했을 때 생길 수 있는 부작용과 해법...

<오라클 성능 고도화 원리와 해법1> Ch03-12 데이터베이스 성능 고도화 정석 해법

오라클 성능 고도화 원리와 해법1 - Ch03-12 데이터베이스 성능 고도화 정석 해법 모든 문제 해결 프로세스처럼 데이터베이스도 그림 3-15와 같은 절차에 따라 문제를 해결해 나간다. 지금까지 설명한 내용을 통해 성능 튜닝에 필요한 자료를 수집하고, 분석 및 진단하는 방법에 대해 어느 정도 배경 지식을 갖게 되었을 것이다. 특히, OWI에 ...

<오라클 성능 고도화 원리와 해법1> Ch03-11 End-To-End 성능 관리

오라클 성능 고도화 원리와 해법 1 - Ch03-11 End-To-End 성능 관리 지금까지 설명한 방법들은 모두 오라클 내부에서 발생하는 일량과 시간, 병목 현상만을 측정한다. Elapsed Time으로 대변되는 Response Time도 데이터베이스에 던져진 Call 내에서의 소요 시간만을 측정해 이를 더하는 방식이므로 사용자가 느끼는 Respo...

<오라클 성능 고도화 원리와 해법1> Ch03-10 V$SQL

오라클 성능 고도화 원리와 해법 1 - Ch03-10 V$SQL 모든 업무가 그렇듯 정해진 시간 내에 가장 효율적인 방법으로 효과성을 높이려면 전략적 접근 방법이 필요하다. 튜닝 프로젝트에 나갈 때마다 시스템에서 사용 중인 SQL 개수를 세어보면, 최소한 수천 개가 넘고, 가장 많을 때는 20,000여 개에 이르는 것을 본 적도 있다. 아무리 뛰어난...