본문 바로가기

정리30

SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제3절 조인 수행 원리 제3절 조인 수행 원리 1. NL Join NL Join은 프로그래밍에서 사용하는 중첩된 반복문과 유사한 방식으로 조인을 수행한다. 반복문의 외부에 있는 테이블을 선행 테이블 또는 외부 테이블(Outer Table)이라고 하고, 반복문의 내부에 있는 테이블을 후행 테이블 또는 내부 테이블(Inner Table)이라고 한다. 선행 테이블 또는 외부 테이블->후행 테이블 또는 내부 테이블 결과 행의 수가 적은 테이블을 조인 순서상 선행 테이블로 선택하는 것이 전체 일량을 줄인다. 조인이 성공하면 바로 조인 결과를 사용자에게 보여줌으로 온라인 프로그램에 적당하다 2. Sort Merge Join 주로 스캔하는 방식으로 데이터를 읽음. 조인 칼럼 인덱스 없어도 사용가능 -> 단, 성능이 떨어질 수 있음 조인 칼.. 2021. 5. 28.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제2절 인덱스 기본 제2절 인덱스 기본 1. 인덱스 특징과 종류 - 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 기능 - DML작업은 테이블과 인덱스를 함께 변경해야하기 때문에 느려질 수 있다 (1) 트리 기반 인덱스 DBMS에서 가장 일반적인 인덱스는 B-트리 인덱스 이다. 브랜치 블록과 리프블록으로 구성 브랜치 블록의 가장 상위의 블록을 루트 블록이라고 한다. (2) SQL Server의 클러스터형 인덱스 SQL Server에는 클러스터형인덱스, 비클러스터형인덱스가 있다. 클러스터형인덱스의 2가지 중요성 - 인덱스의 리프페이지가 곧 데이터페이지 - 리프페이지의 모든 로우는 인덱스키 칼럼순으로 물리적으로 정렬되어 저장됨 2. 전체 테이블 스캔과 인덱스 스캔 (1) 전체 테이블 스캔 : 전체를 스캔하면.. 2021. 5. 28.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제1절 옵티마이저와 실행계획 제1절 옵티마이저와 실행계획 1. 옵티마이저 다양한 실행방법들 중에서 최적의 실행방법을 결정하는 것이 옵티마이저의 역할 규칙기반 옵티마이저 : 규칙(우선순위)를 가지고 실행계획을 생성한다. 규칙기반 옵티마이저는 인덱스를 이용한 액세스 방식이 전체 테이블 액세스 방식보다 우선 순위가 높다. 비용기반 옵티마이저 : SQL문을 처리하는데 필요한 비용이 가장 적은 실행계획을 선택하는 방식 2. 실행계획 SQL에서 요구한 사항을 처리하기위한 절차와 방법 실행계획을 구성하는 요소에는 조인순서, 조인기법, 액세스기법, 최적화정보, 연산 등 동일한 SQL에 대해 결과를 낼 수 있는 다양한 처리 방법(실행계획)이 존재할 수 있지만 각 처리 방법마다 실행 시간(성능)은 서로 다를 수 있다. 옵티마이저는 다양한 처리 방법들.. 2021. 5. 28.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제8절 절차형 SQL 제8절 절차형 SQL 1. 절차형 SQL 개요 일반적인 개발 언어처럼 SQL에도 절차 지향 프로그램이 가능하도록 절차형 SQL을 제공하는 DBMS 벤더들이 있다. PL/SQL, SQL/PL, T-SQL 2. PL/SQL 개요 (1) 특징 Block구조로 되어 있어 각 기능별로 모듈화가 가능하다. 변수, 상수 등을 선언하여 SQL 문장 간 값을 교환한다. IF, LOOP 등의 절차형 언어를 사용하여 절차적인 프로그램이 가능하도록 한다. DBMS 정의 에러나 사용자 정의 에러를 사용할 수 있다. Oracle의 PL/SQL은 Block 구조로 되어있고 Block 내에는 DML 문장과 QUERY 문장, 그리고 절차형 언어(IF, LOOP) 등을 사용할 수 있으며, 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어.. 2021. 5. 27.