정보처리기사

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

PEAZH 2024. 7. 15. 09:37
반응형

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

반응형