간단명료

1. NL조인의 튜닝 포인트 테이블 간의 조인 횟수를 최소화하기 위한 조인 순서 최적화 Driven 테이블의 경우 연결고리 인덱스가 반드시 사용되어야 한다 2. NL조인의 장단점 - 장점 인덱스를 통한 랜덤액세스기반에서 좋은 성능을 보임 - 단점 인덱스가 없는 경우 속도 저하 대용량데이터를 처리할 경우 성능 저하 3. 조인 순서 제어 방법 - 힌트사용 ORDERED 와 LEADING 을 같이 사용한 경우 LEADING은 무시된다. ORDERED FROM 절에 기술한 테이블 순서대로 제어 SELECT /*+ ORDERED USE_NL(a,b) */ A.id, B.name FROM table_a a, table_b b WHERE a.joinkey_a = b.joinkey_b AND a.color = '..

SELECT, WHERE, ORDER BY 절에 사용하는 서브쿼리를 스칼라서브쿼리라고 한다. 서브쿼리는 GROUP BY 절에는 사용할 수 없다. SELECT (SELECT....) --Scalar Subquery FROM (SELECT....) --Inline View WHERE (SELECT....) --Nested Subquery OR Correlated Subquery(Scalar Subquery) GROUP BY --사용 불가 ORDER BY (SELECT....) --Scalar Subquery1. WHERE 절 서브쿼리 WHERE 절 서브쿼리(스칼라서브쿼리)에서 메인쿼리 컬럼을 사용하지 않으면 Nested Subquery, 메인쿼리 컬럼을 사용하면 Correlated Subqyery라 한다. ..

1. 인덱스를 사용하지 말아야 하는 경우 분포도가 좋지 않을 경우 FULL TABLE SCAN이 더 나을 수 있다. 처리 데이터가 전체 데이터 중 15% 이상일 경우 FULL SCAN이 더 나을 수 있다. 2. 인덱스 사용이 불가능한 경우 1) NOT 연산자 사용 !=, : 제외한 모든 데이터를 추출하기 때문에 인덱스보다 FULL TABLE SCAN이 더 나을 수 있다. 2) IS NULL, IS NOT NULL 사용 인덱스는 NULL 값을 저장하지 않는다. 3) 옵티마이저의 취사 선택 RBO : 정해진 규칙 기준 CBO : 비용 기준 으로 취사 선택. Hint를 통해 제어할 수 있다. 4) External suppressing - 인덱스 컬럼 변형 불필요한 함수 사용 WHERE SUBSTR(ename,..

결합인덱스 컬럼 순서 결정 Where 절 조건에 많이 사용되는 컬럼 Equal('=')로 사용되는 컬럼 분포도가 좋은 컬럼 자주 이용되는 Sort의 순서로 결정 결합인덱스 사용 방법 결합인덱스의 첫 번재 컬럼이 where절에서 제외되어 있는 경우, 결합인덱스를 사용할 수 없음. 인덱스 스킵 스캐닝(Index Skip Scanning) 결합인덱스의 첫 번째 컬럼이 WHERE절에서 제외되어 있고, 두 번째 컬럼부터 WHERE절에 조건으로 기술되어 있는 경우에도, 그 인덱스가 사용되는 경우. 결합인덱스 컬럼에 대한 '='의 의미 범위 제한 조건 결합 인덱스의 선행하는 컬럼(첫 번째 컬럼 포함) 순서로 WHERE절에 '='로 연속된 경우. 해당 하는 조건. 체크 조건 WHERE 절 조건에서 선행컬럼이 '=' 조..

데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위해 사용. 일반적으로, 인덱스는 테이블의 전체 데이터 중에서 10~15% 이하의 데이터를 처리하는 경우에 효율적이며, 그 이상의 데이터를 처리할 땐 인덱스를 사용하지 않는 것이 더 나음. B* TREE 구조 (Balanced Tree) Root(기준)/Branch(중간)/Leaf(말단) Node로 구성 됨 Branch 노드는 Leaf 노드에 연결되어 있으며, 조회하려는 값이 있는 Leaf 노드까지 도달하기 위해 비교/분기해야 될 값이 저장 됨 Leaf 노드 = 인덱스 컬럼 값 + ROWID -- ROWID : 테이블에 있는 row를 찾기 위해 사용되는 저장위치(논리적인) 정보 -- Sorting 되어 저장 AAAE6TAAEAAA5K2AAA 1 2 3 4..