[정보처리기사실기] CRUD / SQL 처리 흐름 / 옵티마이저 / 튜닝

    반응형

    2과목. 데이터베이스 구축

    📒 08. 물리 데이터 모델 품질 검토


    1. CRUD 분석

    (1) CRUD의 개념

    • 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 표현한 말
    • 프로세스와 DB에 저장되는 데이터 사이의 의존관계를 표현하는 표
    • 시스템을 구축하기 위해 해당 업무에 어떤 데이터가 존재하는지 무엇이 영향을 받는지 분석
    • 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션 분석

     

    2. SQL 처리 흐름

    (1) 구문분석(Parsing)

    • 사용자가 제출한 SQL문이 데이터베이스에서 이미 사용된 적이 있는지 확인
    • 이미 처리된 적이 있다면, 구문 분석 단계를 건너뛰고 캐시 된 실행 계획 재사용
    • SQL문법의 정확성, SQL문 내의 테이블과 뷰가 실제로 데이터베이스에 존재하는지 확인

    (2) 실행(Execution)

    • SQL문에서 참조된 데이터가 있는지 검사
    • 데이터 버퍼 캐시는 자주 접근하는 데이터를 메모리에 저장하여 빠른 접근을 가능하게 함

    (3) 추출(Fetch)

    • 실행 단계가 완료되면, 관련 데이터를 읽어 사용자에게 전달
    • SELECT문을 실행하는 경우에만 추출 단계 실행

     

    3. 옵티마이저

    (1) 옵티마이저의 개념

    • SQL문에 대한 최적의 실행 방법 결정

    (2) 옵티마이저의 구분

    • a) 규칙기반 옵티마이저(Rule Based Optimizer)
      - 규칙(우선순위)을 가지고 실행 계획을 생성
      - 인덱스 유무, 연산자, 객체 등을 참조하여 우선순위 부여
    • b) 비용기반 옵티마이저(Cost Based Optimizer)
      - SQL문을 처리하는 데 필요한 비용이 가장 적은 실행계획을 선택하는 방식
      - 다양한 객체 통계 정보와 시스템 통계 정보 활용

     

    4. SQL 성능 튜닝

    (1) 튜닝의 개념

    • SQL문을 최적화하여 시스템의 처리량과 응답 속도를 개선하는 작업
    • 쿼리의 성능을 끌어올리는 작업

    (2) 튜닝 영역

    • a) 데이터베이스 설계 튜닝
      - 성능을 고려해 데이터베이스 설계 단계에서부터 최적화
    • b) 데이터베이스 환경
      - H/W 설정을 통해 성능 향상
    • c) SQL 문장 튜닝
      - SQL 문장 자체를 최적화하여 성능 개선

    (3) Row Migration

    • 데이터가 수정되면서 데이터가 더 커져서 기존 블록(Block)에 못 들어가는 경우
    • 다른 블록에 데이터를 넣고, 기존 블록 위치에는 링크를 남김

    (4) Row Chaining

    • 컬럼이 너무 길어서 DB BLOCK 사이즈보다 길어진 경우, 블록 두 개에 이어서 한 Row에 저장

     

     

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
     

    1억뷰 N잡

    [1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

    www.njobler.net

    반응형

    댓글