[INDEX 명령어]

CREATE INDEX <인덱스명> ON <테이블명> ( 칼럼명1, 칼럼명2, ... );
ALTER TABLE <테이블명> ADD INDEX <인덱스명> ( 칼럼명1, 칼럼명2, ... );
SHOW INDEX FROM <테이블명>;
ALTER TABLE <테이블명> DROP INDEX <인덱스명>;
index (product_code)
index (product_code, product_name)  <---- and 조건으로 검색시에만 인덱스 활용


간단한 INDEX 거는 법

CREATE INDEX 인덱스명 on 테이블명(컬럼명1, 컬럼명2)
ex)  create index idx_1 on test(col1, col2);

INDEX 확인
SHOW INDEX FROM 테이블명


[인덱스 팁]
인덱스는 책의 목차를 만드는 것과 비슷하다고 생각하면 된다.
쿼리를 던져서 결과를 얻기까지 속도가 많이 걸린다고 생각하면 인덱스를 잘 활용해야 한다.
인덱스를 잘 걸어야 검색할 때 빠른 속도를 체감할 수 있다.
인덱스를 걸 때 Column 순서도 매우 중요하다.

col1, col2, col3 라는 컬럼이 존재할 때
select * from table where col1 =''

라는 조건으로 검색을 할 시에는 단순히 col1 만 인덱스를 걸어주면 된다.

select * from table where col1 = '' and col2 = ''

라는 조건으로 검색을 할 때에는 col1, col2로 멀티 인덱싱을 해주어야 한다.
col1, col2 멀티 인덱싱을 걸고 나서
1. select *  from table where col1= ''
2. select * from table where col1 = '' and col2 = ''
1번과 2번은 멀티 인덱싱 효과가 나타나지만
select * from table where col2 = ''
는 멀티 인덱싱 효과가 없다.

+ Recent posts