devnoong.log
article thumbnail
[DB] 힌트에 대해서
DB/Oracle 2022. 7. 27. 16:26

힌트(Hint)란? 오라클 옵티마이저(Optimizer) 대신 개발자가 직접 최적의 실행 경로를 작성해 주는 것이다. 단, 힌트, 인덱스, 조인의 개념을 정확히 알고 사용하지 않은 무분별한 힌트의 사용은 성능의 저하를 초래하기 때문에 최적의 실행 경로를 알고 있을 경우 적절하게 사용하여야 한다. 사용이유 Select 조회 컬럼이 인덱스 컬럼으로만 구성되어 있을 경우, 인덱스 영역에서 스캔하기때문에 조회 속도도 빠르고 인덱스 컬럼이 설정된 대로 정렬이 돼서 조회가 된다. 하지만 인덱스컬럼뿐만 아니라 다른 컬럼도 포함되어 있을 경우 FullTableScan을 시도하기때문에 조회 속도가 느리고 정렬이 되지 않는다. 하지만 힌트절을 사용한다면, 인덱스 영역에서 인덱스가 생성된 순서대로 스캐닝을 시도하고 정의 해..

article thumbnail
[DB] INDEX에 대해서
DB/Oracle 2022. 7. 27. 16:13

INDEX란? RDBMS에서 대용량의 데이터가 존재할 때, 특정 데이터를 검색하기 위해 테이블을 FullScan하는것이 아니라 Range Scan을 통해 빠르게 검색할 수 있도록 도와주는 자료구조이다. 정렬 된 구조로 ROWID가 존재하기 때문에 별도의 정렬이 필요없어서 ORDER BY를 사용하는것보다 훨씬 효율적이다. 데이터를 찾은 후 ROWID를 이용하여 테이블 레코드를 찾아간다. 인덱스의 자료구조 인덱스의 자료 구조 종류는 다양하게 존재한다. 그중에서 B-Tree구조 , B+Tree , B*Tree 구조와 HashTables 구조를 많이 사용한다. ▶ B-Tree 구조 자식의 노드 개수가 2개이상인 트리구조를 뜻한다. B-Trees는 이진트리에서 발전되어 모든 리프노드들이 같은 레벨을 가질 수 있도..