인덱스2 DB 튜닝에 대한 얇고 넓은 지식 ▶ 인덱스가 있어도 효율적 활용이 불가능한 경우 1) 인덱스 선두컬럼, 조건절을 가공했을 경우.SELECT * FROM EMP WHERE SUBSTR(TO_CHAR(EMP_NO), 1, 4) = '2012'; 2) 부정형 비교SELECT * FROM EMP WHERE EMP_NO != '20120902; 3) Not null 컬럼 검색SELECT * FROM EMP WHERE DEPT_CD IS NOT NULL; ▶ 인덱스 컬럼 가공에 대한 튜닝 예시AS-ISSELECT * FROM EMP WHERE substr(이름, 1, 2) = '김길';TO-BESELECT * FROM EMP WHERE 이름 like '김길%'; AS-ISSELECT * FROM 사원 where 월급여 * 12 = 40,000,0.. 2019. 1. 13. 인덱스 구조 DBMS는 일반적으로 B*Tree 인덱스를 사용한다.이 B*Tree 인덱스는 Root node와 Branch node, Leaf node로 구성되어 있다. Root와 Branch 블록에 있는 각 레코드는 하위 블록에 대한 주소 값을 가진다.리프 블록에 저장된 각 레코드는 키값 순으로 정렬돼 있고, 테이블 레코드를 가리키는 주소값(ROWID)를 갖는다.ROWID의 구조는 아래와 같다.ROWID = 오브젝트번호(6자리) + 데이터 파일 번호(3자리) + 블록 번호(6자리) + 데이터 번호(3자리) EMP 테이블의 각 레코드의 오브젝트 번호는 AAAE5p 이다. 오브젝트별로 유일한 값이므로 EMP 테이블의 모든 오브젝트번호는 AAAE5p 이다.데이터 파일 번호는 AAB이다. 테이블의 Extent가 다른 데이터.. 2018. 8. 2. 이전 1 다음 반응형