ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최적화
    DB 2012. 11. 29. 10:07

    DDL(데이터 정의 언어) : 오라클 데이터 사전을 수정, 즉 테이블 생성, 사용자 추가, 테이블로부터 열 삭제, 트리거 생성 등을 수행하기 위하여 실행되는 문


    DML(데이터 조작 언어) : 데이터베이스의 데이터를 액세스하고 수정하기 위하여 실행되는 문으로서 SELECT, INSERT, MERGE, UPDATE, 그리고 DELETE 명령을 포함


    파싱 > 최적화 > 행-원본 생성 > 문 실행


    - 파싱

     . DDL : 오라클의 공유 풀에 저장되지 않기 때문에 여기에 기술된 공유 풀 검사의 적용 대상이 x

       .. 구문 분석 > 의미분석

     . DML

       .. 구문 분석 > 의미분석 > 공유 풀 검사



     . soft parse 

       1. 의미 일치 검사 : 처리를 위해 데이터베이스에 제출된 문이 이전에 파싱된 문과 일치하는 의미 일치가 존재하는지를 검증

       2. 환경 일치 검사 : 문의 실행 환경이 동일한지를 확인하는 환경 일치를 검증


     . hard parse 


    - 최적화기

     . 규칙 기반의 최적화기(RBO)

     . 비용 기반의 최적화기(CBO)



    - 래치 : 직렬화 장치

      . 상당한 희생을 감수하고서 많은 세션이 공유 데이터 구조를 안전하게 액세스하고 수정할 수 있도록 해주는 기능. 


    하드 파스 : 2배 이상의 래치를 사용. 



    하드 파스 : 소프트 파스 

    소프트 파싱 : 느슨한 소프트 파싱(SESSION_CACHED_CURSORS)

    느슨한 소프트 파싱 : 무 파싱



    성능 향상 : 가능한한 파싱을 피하자!

     - 바인드 변수를 사용하여 파싱을 skip 하도록 유도. (soft parse 유도), 바인드 변수 미사용시 sql injection 가능. 

     - PL/SQL을 사용하는 단순한 조치로부터 동적 SQL을 주의해서 사용하기 

     - 다수의 입력을 단일 문 실행에 바인딩하기




    -------------

    스키마 디자인 기본 원칙

     - 무결성 검사, 데이터 유형 선택, 쿼리 최적화


    날짜는 날짜에, 수는 수어, 문자열은 문자열에..


    댓글

Written by Skymaker.