✅ 인덱스
✅ 인덱스 관리
✅ 인덱스 장점
✅ 인덱스 단점
✅ 인덱스 사용에 적합한 경우
✅ 인덱스 자료구조
SELECT * FROM user_indexs;
SELECT * FROM user_ind_columns; // 인덱스를 갖고 있는 컬럼 조회
✅ 예제와 함께 인덱스 적용
CREATE
INDEX
생성할인덱스명 ON
대상테이블이름 (대상컬럼이름);SELECT * FROM customers WHERE regist_date = '21/01/01';
위 사진과 같이 인덱스를 만들지 않고 조회하면 FULL SCAN으로 조회한 것을 알 수 있다
밑 코드는customers
테이블의 컬럼인regist_date
를 기준으로 인덱스를 만들겠다CREATE INDEX regist_date_idx ON customers (regist_date);
다음은
regist_date
의 인덱스를 만들고 난 후 조회한 결과이다.
사진과 같이 속도도 0.015 -> 0.011 로 빨라졌다
지금은 얼마차이가 나지 않지만, 데이터가 방대해진다면 큰 차이가 발생할 수 있다
CREATE
INDEX
생성할인덱스명 ON
대상테이블이름 (대상컬럼이름,[.......]);CREATE INDEX name_idx
ON customers(first_name, last_name) // 다음과 같이 여러개의 컬럼을 한번에 같은 인덱스로 만들 수 있다
CREATE
UNIQUE
INDEX
생성할인덱스명 ON
대상테이블이름 (대상컬럼이름,[.......]);CREATE UNIQUE INDEX email_idx
ON customers (email); // 이메일 컬럼을 기준으로 고유 인덱스 생성
SELECT * FROM customers WHERE email = 'suan';
✅ 인덱스 삭제
DROP INDEX 인덱스명;
-- ex)
DROP INDEX regist_date_idx;