728x90 index3 [Oracle] 10046 TRACE - 인덱스 사용 테이블 정보 TEST.EMP_210825 -- TEST.EMP_210825 EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) /* 데이터 1,000,000건 추가 EMPNO : 숫자 4자리 ENAME : 영어 6자리 JOB : 영어 9자리 MGR : 숫자 4자리 HIREDATE : SYSDATE SAL : 숫자 4자리 + 첫글자만 랜덤 COMM : NULL DEPNO = 10 */ INSERT INTO TEST.EMP_210825 SELECT ROUND(DBMS_RANDOM.VALUE(1000,9999)) AS EMPNO, D.. 2022. 7. 21. [Oracle] 결합 인덱스 결합 인덱스 두 개 이상의 컬럼을 합쳐서 인덱스를 만드는 것. SQL 문장에서 WHERE절의 조건 컬럼이 2개 이상 AND 로 연결되어 함께 사용되는 경우에 결합 인덱스를 사용 2개 이상의 조건이 OR로 조회되는 경우는 결합 인덱스를 사용하면 안된다 첫번째 조건에서 최대한 많은 데이터를 걸러, 두번째 검사를 쉽게 만들어 주어야 한다. 컬럼의 순서대로 1차 필터링, 2차 필터링 하는 개념 결합 인덱스의 경우 첫번째 컬림이 사용되지 않는다면 그 결합 인덱스는 사용되지 않는다. ex ) 만약 id라는 컬럼은 조건절에 잘 사용되지 않는다면 결합 인덱스의 첫 컬럼으로 사용하지 않던가, 별도의 인덱스를 생성하여 사용하는 것이 바람직 ※ 결합 인덱스 생성 시에 주의할 점은 '얼마나 자주 사용되는가' WHERE 절에서.. 2022. 6. 21. [Oracle] 인덱스 구조 인덱스 기본 구조 루트 블록 브랜치 블록 하위 노드 블록을 찾아가기 위한 Data Block Address를 갖는다. 리프 블록 : 가장 마지막 레벨의 블록 인덱스 키 컬럼, 주소 정보(ROWID)를 갖는다. ※ ROWID : 해당 테이블 레코드를 찾아가기 위한 주소 정보. 데이터파일 번호, 블록 번호, 로우 번호 같은 테이블 레코드의 물리적 위치 정보를 포함. 확장 ROWID 포맷 데이터 오브젝트 번호(6자리) : 데이터베이스 세그먼트를 식별하기 위해 사용되는 번호 데이터파일 번호(3자리) : 로우가 속한 데이터 파일 번호 블록 번호(6자리) : 해당 로우가 저장된 데이터 블록 번호 로우번호 (3자리) : 블록 내에서 각 로우에 붙여진 일련번호로서, 0부터 시작 ## ROWID 확인 SELECT ROW.. 2022. 6. 21. 이전 1 다음 728x90