Please enable JavaScript.
Coggle requires JavaScript to display documents.
SQL 레벨업 - Coggle Diagram
SQL 레벨업
DBMS 아키텍처
쿼리 평가 엔진
sql 구문분석 및 기억장치의 데이터 접근방식 결정
버퍼 매니저
버퍼 메모리 확보
디스크 용량 매니저
데이터의 읽고 쓰기 제어
트랜잭션 매니저 & 락 매니저
정합성 유지와 요청 대기
리커버리 매니저
정기 백업 및 복구
DBMS와 버퍼
기억비용
1차
메모리
단점
기억비용 비싸다
휘발성
데이터 부정합
커밋시 로그파일 극복
대신 느려짐
2차
3차
버퍼를 활용한 속도향상
구문 실행시간 대부분은 I/O에서 소모
디스크 접근을 줄여야 함
buffer or cache
로그 버퍼
갱신처리(I,D,U,M)
비동기처리
데이터 캐시
디스크 데이터 일부유지
일반적으로 데이터캐시가 로그버퍼보다 훨씬 크다
검색이 주요업무라고 가정하므로
튜닝기술
메모리영역
여러 구문 실행시 메모리 부족하면 느려짐
재현검사 필요
워킹 메모리
정렬
집합
부족할 시 저장소를 이용하여 느려짐
DBMS와 실행계획
데이터 접근방법
파서
주어진 쿼리 구문검사 및 정형화
옵티마이저
플랜생성
인덱스 유무, 데이터 분산.편향성, DBMS 내부 매개변수 고려해서 최대한 많은 실행계획 작성
비용평가
작성된 계획 비용 연산
카탈로그 매니저
실행계획 작성시 옵티마이저에 통계정보 제공
플랜 평가
쿼리엔진의 최종단계이며 이 후 DBMS는 실행계획을 절차적으로 변화
데이터 접근 수행
옵티마이저와 통계정보
통계정보
각 테이블의 레코드수
각 테이블의 필드 수와 필드의 크기
필드의 카디널리티(cardinality) 값의 계수
필드 값의 히스토그램(어떤 값이 얼마나 분포되어 있는가)
필드 내부에 있는 NULL수
인덱스 정보
최신화 안 될시 잘못된 계획
JIT통계로 극복 가능하나 비용 발생
Job Net(작업의 실행 순서)을 조합
Oracle
정기적 갱신작업
MsSQL
갱신처리 시 통계정보 갱신
통계정보 갱신은 비용이 높으나 필요한 작업
p46 명령어
실행 계획이 SQL구문 성능 결정
실행계획 확인 방법
p47 표
테이블 풀스캔 실행계획
공통요소
조작 대상 객체
테이블, 인덱스, 파티션, 시퀀스 등
조작의 종류
조작 대상의 레코드 수
미크/윤인성
20220815 중단