Chapter 03 SQL 활용 및 최적화
1. 절차형 SQL ( Procedural SQL) ⭐
- 절차형 SQL은 일반 개발 언어와 같이 SQL 언어에서도 절차 지향적인 프로그램이 가능하게 하는 트랜잭션 언어
(1) 절차형 SQL 종류
- 프로시저 (Procedure) : 일련의 쿼리를 하나의 함수처럼 실행하기 위한 쿼리 집합
- 사용자 정의 함수 (User-Defined Function) : 일련의 SQL 처리 수행 후, 수행 결과 단일 값으로 반환하는 절차형 SQL
- 트리거 (Trigger) : 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업 자동 수행되는 절차형 SQL
2. SQL 최적화
(1) 튜닝(쿼리 성능 개선)의 개념
- 데이터베이스 프로시저에 있는 SQL 실행 계획을 분석, 수정하여 최소 시간으로 원하는 결과를 얻도록 프로시저 수정하는 작업
- SQL 성능 개선을 통해 데이터 조작 프로시저 성능 개선 가능
(2) 옵티마이저 (Optimizer)
- SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부 핵심엔진
- 옵티마이저가 생성한 SQL 처리 경로를 실행계획(Execution Plan)이라고 함
- 옵티마이저 유형
항목 | 규칙기반 옵티마이저 (RBO) | 비용기반 옵티마이저 (CBO) |
개념 | 통계 정보 없는 상태에서 사전 등록 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저 |
통계 정보로부터 모든 접근 경로를 고려한 질의실행계획을 선택하는 옵티마이저 |
핵심 | 규칙 (우선순위) 기반 | 비용 (수행 시간) 기반 |
평가 기준 | 인덱스 구조, 연산자, 조건절 형태 등 | 레코드 개수, 블록 개수, 평균 행 길이, 컬럼 값의 수, 컬럼 값 분포, 인덱스 높이, 클러스터링 팩터 등 |
장점 | 사용자가 원하는 처리경로로 유도하기 쉬움 | 옵티마이저 이해도 낮아도 성능보장 가능 (기본 설정) |
'WorkOut > 정보처리기사' 카테고리의 다른 글
SQL 응용 문제 풀이 | 데이터베이스 기본 2 (0) | 2024.04.12 |
---|---|
SQL 문제 풀이 | 데이터베이스 기본 (0) | 2024.04.11 |
응용 SQL | 집계성 SQL (0) | 2024.04.09 |
데이터베이스 | 트랜잭션 (DML&DCL) + Join (0) | 2024.04.07 |
SQL 응용 | 데이터베이스 기본 _DDL (2) | 2024.04.04 |