정보처리기사

[정처기] 실기요약 - 7-3. SQL 활용 및 최적화

검이 2023. 12. 30. 18:00

목차

5. 인터페이스 구현

Chapter 01  인터페이스 설계 확인
Chapter 02  인터페이스 기능 구현
Chapter 03  인터페이스 구현 검증

6. 프로그래밍 언어 활용

Chapter 01  프로그래밍을 위한 기본 사항
Chapter 02  C언어
Chapter 03  자바
Chapter 04  파이썬

7. SQL 응용

Chapter 01  데이터베이스 기본
Chapter 02  응용 SQL 작성하기
Chapter 03  SQL 활용 및 최적화

8. 서버 프로그램 구현

Chapter 01  개발환경 구축
Chapter 02  공통 모듈 구현
Chapter 03  배치 프로그램 구현

9. 소프트웨어 개발 보안 구축

Chapter 01  소프트웨어 개발 보안 설계
Chapter 02  소프트웨어 개발 보안 구현


절차형 SQL 종류

프로시저 / 사용자 정의 함수 / 트리거

프로시저 
- 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합

사용자 정의 함수
- 일련의 SQL 처리를 수행하고 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL

트리거
- 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL


쿼리 성능 개선 절차

1. 문제 있는 SQL 식별
- 애플리케이션의 성능을 관리 및 모니터링 도구인 APM 등 활용

2. 옵티마이저 통계 확인
- 개발자가 작성한 SQL을 가장 바르고 효율적으로 수행할 최적의 처리 경로를 생성해주는 데이터베이스 핵심 모듈

3. SQL 문 재구성
- 범위가 아닌 특정 값 지정으로 범위를 줄여 처리속도를 빠르게 함
- 옵티마이저가 비정상적인 실행 계획을 수립할 경우, 힌트로서 옵티마이저의 접근 경로 및 조인 순서를 제어

4. 인덱스 재구성
- 성능에 중요한 액세스 경로를 고려하여 생성
- 실행계획을 검토하여 기존 인덱스의 열 순서를 변경/추가

5. 실행계획 유지관리
- 데이터베이스 버전 업그레이드, 데이터 전환 등 시스템 환경의 변경 사항 발생 시에도 실행계획이 유지되는지 관리


옵티마이저 통계 확인

  규칙기반 옵티마이저(RBO) 비용기반 옵티마이저(CBO)
개념 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택 통계 정보로부터 모든 접근 경로를 고려한 질의실행 계획을 선택
핵심 규칙(우선순위)기반 비용(수행 시간) 기반
평가기준 인덱스 구조, 연산자, 조건절 형태 레코드 개수, 블록 개수, 평균 행 길이, 컬럼 값의 수, 컬럼 값 분포, 인덱스 높이, 클러스터링 팩터 등
장점 사용자가 원하는 처리경로로 유도하기 쉬움 옵티마이저의 이해도가 낮아도 성능 보장