[SQLD] 2과목. SQL 기본 및 활용 - 3 03. SQL 최적화 기본 원리 옵티마이저와 실행계획 옵티마이저 다양한 실행 방법들 중 최적의 실행방법을 결정하는 것 옵티마이저 종류 규칙 기반 옵티마이저(Rule Based Optimizer, RBO) 제일 낮은 우선순위 : 전체 테이블 스캔 제일 높은 우선순위 : 행에 대한 고유 주소(ROWID)를 활용해 테이블 액세스 하는 방법 적절한 인덱스가 존재하면 항상 인덱스를 사용하려고 함 비용 기반 옵티마이저(Cost Based Optimizer, CBO) 테이블 및 인덱스 등의 통계정보를 활용해 SQL문을 실행하는 데 소요될 처리시간 및 CPU, I/O 자원량 등을 계산해 가장 효율적일 것으로 예상되는 실행계획을 선택하는 옵티마이저 통계정보가 변경되면 SQL 실행계획이 달라질 수 있음 인덱스가 존재하더라.. 2021. 5. 13. [SQLD] 2과목. SQL 기본 및 활용 - 2 02. SQL 활용 표준 조인 순수 관계 연산자 SELECT 연산은 WHERE 절로 구현 PROJECT 연산은 SELECT절로 구현 (NATURE) JOIN 연산은 다양한 JOIN 기능으로 구현 DIVIDE 연산은 현재 사용 X ANSI/ISO SQL에서 표시하는 FROM 절의 JOIN 형태 INNER JOIN NATURAL JOIN USING 조건절 ON 조건절 CROSS JOIN OUTER JOIN(LEFT, RIGHT, FULL) JOIN 적절한 JOIN 조건이 없으면 카티시안 곱(Cartesian Product)이 발생함 JOIN 종류 INNER JOIN : JOIN 조건에서 동일한 값이 있는 행만 반환 LEFT OUTER JOIN : 조인 수행시 먼저 표기된 좌측 테이블 데이터 먼저 읽고, 우측.. 2021. 5. 13. [SQLD] 2과목. SQL 기본 및 활용 - 1 01. SQL 기본 기본 SQL WHERE절 SQL을 사용해 DB에서 데이터를 조회할 때 원하는 데이터만 검색하기 위해 FROM절 다음에 위치해 조건을 설정해 조회 구성 칼럼명(보통 조건식의 좌측) 비교 연산자 문자/숫자/표현식(보통 조건식 우측에 위치) 비교 칼럼명(JOIN사용 시) 연산자 비교 연산자 =, >, =, ~보다 크지 않다 부정 SQL 연산자 NOT BETWEEN a AND b a와 b의 값 사이에 있지 않다 NOT IN (List) List 값과 일치하지 않는다 IS NOT NULL NULL 값을 갖지 않는다 연산자 우선순위 괄호로 묶은 연산 부정 연산자(NOT) 비교 연산자(=, , =)와 SQL 연산자(BETWEEN, IN, LIKE, IS NULL) 논리 연산자 중 AND, OR 순.. 2021. 5. 12. 이전 1 다음 반응형