♣ 2주차 목표 : 프로그래밍 기초 SQL 학습
- SQL 코드 카타 51-62번 풀이 복습
- 'SQLD 자격증 대비반' 14주차 강의 수강
- 'SQLD 자격증 대비반' 강의 복습
- SQL 특강
연휴동안 'SQLD 자격증 대비반' 12-13강을 듣고 남은 14강을 수강 후 다시 처음부터 강의를 복습하는 시간을 가졌다.
옵티마이저
- DBMS의 두뇌
- 어떤 방식으로 SQL 쿼리를 처리하고 데이터를 검색할지 결정하는데 도움을 주는 도구
- 규칙기반 옵티마이저
- 개념 : 사전에 정의된 규칙 기반
- 기준 : 실행우선 순위(Ranking)
- 인덱스 : 인덱스 존재 시 가장 우선시 사용
- 장점 : 판단이 매우 규칙적 > 실행 예상 가능
- 단점 : 예측 통계정보 요소 무시
- 성능 : 사용자 SQL 작성 숙련도
- 비용기반 옵티마이저
- 개념 : 최소비용 계산 실행계획 수립
- 기준 : 엑세스 비용(Cost)
- 인덱스 : Cost에 의한 결정
- 장점 : 통계 정보를 통한 현실 요소 적용
- 단점 : 최소 성능 보장 계획의 예측 제어 어려움
- 성능 : 옵티마이저 예측 성능
인덱스
- 원하는 데이터를 쉽게 찾을 수 있도록 도움
- 기본적인 목적은 검색 성능의 최적화
트리 기반 인덱스 (B-Tree)
- 가장 상위에 있는 루트(Root) 블록
- 분기를 목적으로 하는 브랜치(Branch) 블록
- 가장 마지막 위치에서 인덱스를 구성하는 칼럼 데이터와 해당 데이터를 가진 리프(Leaf) 블록
전체 테이블 스캔
- 데이터를 읽을 때 한번의 요청으로 여러 블록을 한꺼번에 읽어옴
- 대용량 데이터를 스캔할 때는 비효율적
인덱스 스캔
- 대용량 데이터에서 일부 데이터를 찾아야 할 때 인덱스를 이용하여 몇 번의 요청으로 원하는 데이터 읽어옴
- 대용량 데이터 스캔할 때 가장 적합
- DB의 일정 부분 데이터를 저장해야 하기 때문에 일정 부분 용량 차지
- 인덱스 생성 시간이 소요되기 때문에 DB가 자주 변경되는 경우 성능 저하
'Today I Learned' 카테고리의 다른 글
240104 / 데이터 분석 부트캠프 12일차 (내일배움캠프 Data_1기) (0) | 2024.01.04 |
---|---|
240103 / 데이터 분석 부트캠프 11일차 (내일배움캠프 Data_1기) (0) | 2024.01.03 |
231229 / 데이터 분석 부트캠프 9일차 (내일배움캠프 Data_1기) (0) | 2023.12.29 |
231228 / 데이터 분석 부트캠프 8일차 (내일배움캠프 Data_1기) (0) | 2023.12.28 |
231227 / 데이터 분석 부트캠프 7일차 (내일배움캠프 Data_1기) (0) | 2023.12.27 |