본문 바로가기

SQLD/SQL 기본 및 활용3

2-3. SQL 최적화 기본원리 SQL 최적화 기본원리 (1) 옵티마이저와 실행계획 옵티마이저 다양한 실행 방법들 중에서 최적의 실행방법을 결정하는 것이 옵티마이저의 역할 규칙기반 옵티마이저 규칙(우선순위)을 가지고 실행계획을 생성한다. 비용기반 옵티마이저 SQL문을 처리하는데 필요한 비용이 가장 적은 실행 계획을 선택하는 방식 비용기반 옵티마이저는 통계정보, DBMS 버전, DBMS 설정 정보 등의 차이로 인해 동일 SQL문도 서로 다른 실행계획이 생성될 수 있다. 또한 비용기반 옵티마이저의 다양한 한계들로 인해 실행계획의 예측 및 제어가 어렵다는 단점이 있다. 옵티마이저 실행계획 “SQL에서 요구한 사항을 처리하기위한 절차와 방법” 실행계획을 구성하는 요소에는 조인순서, 조인기법, 액세스기법, 최적화정보, 연산 등 동일한 SQL에 .. 2021. 8. 25.
2-2. SQL 활용 SQL 활용 (1) 표준 조인 STANDAR SQL 일반 집합 연산자를 현재의 SQL과 비교하면, UNION 연산은 UNION 기능으로, INTERSECTION 연산은 INTERSECT 기능으로, DIFFERENCE 연산은 EXCEPT(Oracle은 MINUS) 기능으로, PRODUCT 연산은 CROSS JOIN 기능으로 구현되었다. 순수 관계 연산자를 현재의 SQL과 비교하면, SELECT 연산은 WHERE 절로 구현되었다. PROJECT 연산은 SELECT 절로 구현되었다. (NATURAL) JOIN 연산은 다양한 JOIN 기능으로 구현되었다. DIVIDE 연산은 현재 사용되지 않는다. FROM절의 JOIN 형태 ANSI/ISO SQL에서 표시하는 FROM 절의 JOIN 형태는 다음과 같다. INNE.. 2021. 8. 25.
2-1. SQL 기본 노랭이 ' ' SQL 기본 (1) 관계형 데이터베이스 특정기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장한 것 관계형 데이터베이스 집합 연산과 관계 연산 집합 연산 집합 연산 설명 합집합 (Union) - 두 개의 릴레이션을 하나로 합하는 것이다. - 중복된 행(튜플)은 한 번만 조회된다. 차집합 (Difference) 본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회한다. 교집합 (Intersection) 두 개의 릴레이션 간에 공통된 것을 조회한다. 곱집합 (Cartesian product) 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산한다. 관계 연산 관계 연산 설명 선택 연산 (Selection) 릴레이션에서 조건에 맞는 행(튜플)만을 조회한다. 투영 .. 2021. 8. 24.