728x90

--index (색인, 전화번호부 ㄱ~ㅎ) - 조회를 빨리 하기 위한 수단(select가 빨라진다.)

--인덱스를 걸어야 하는경우 (우선순위 순서이다)

--1. 선택도(selectivity)가 높아야 한다.

--2. where절에 자주 등장하는 컬럼(혹은 join조건에 걸리는 컬럼)

--3. 최소 만건 이상의 데이터 (주문 테이블 같이 늘어날 것이 예상되는 경우에는 예외)

--4. null 값이 남발하는 컬럼

--단점 : DML 속도가 느려진다.

--풀스캔(full scan) : 인덱스 없이 데이터를 테이블 전체를 뒤져서 찾는 것

--PK, UK : 인덱스가 자동으로 생성된다. 그래서 FK도 자동으로 인덱스 효과를 누린다.(그래서 FK에서 인덱스를 만들지 않는다.)

-- c.f.) /*+ index(emp idx_test) */ : 오라클 hint 인덱스를 강제로 타게 만듬

-- 복합인덱스(composite index): 컬럼 2개 이상에 인덱스 사용

-- 선행컬럼이 중요 : (job, sal) sal만 검색할때(인덱스 x) job만 검색(인덱스 O)

SELECT * FROM USER_INDEXES; -- index의 종류를 알아보기 위해서

--만드는법

CREATE INDEX IDX_TEST

ON EMP(ENAME);

select * from emp where ename like '%T%';

오라클 데이터 저장단위, tablespace

/*

물리적 단위

1. block : 데이터를 읽고 쓰는 메모리 상의 단위

(2 / 4 / 8 / 16 / 32KB - default : 8KB)

2. extent : block이 8개

3. segment : table, index 저장되는 단위

4. tablespace : 세그먼트 집합체

5. Database : 테이블 스페이스의 집합체

6. Data Ware House : DB의 집합체

7.quota : 테이블스페이스에서 사용자에게 할당된 용량

*/

CREATE TABLESPACE JAVACTS

DATAFILE 'D:\oracle\app\oracle\oradata\XE\javacts.dbf' -- 파일지정

SIZE 100M -- 용량 지전(m혹은 k)

autoextend on;-- 공간 자동 확장 여부(파일크기가 자동으로 커진다.)

--blocksize 블럭사이즈지정(8k 기본값)

--segment space management auto -- 오라클이 세그먼트를 자동으로 관리

--flashback on -- 쓰레기통 사용유무

CREATE TABLE TWINKLE(NO NUMBER, TEXT CLOB) TABLESPACE JAVACTS;

[출처] 오라클 index|작성자 pearlinhc

728x90

+ Recent posts