인덱스를 사용해야 하는 경우는?
- 데이터 양이 많고 검색이 변경보다 빈번한 경우
- 필드의 값이 다양한 값을 가지는 경우
▷ 기존 테이블에 인덱스 추가
ALTER TABLE [테이블명] ADD INDEX(필드명(크기));
▷ 테이블 생성시 인덱스 추가하기
CREATE TABLE 테이블 명 ( 필드명 데이터타입(데이터크기),
INDEX(필드명(크기)) ENGINE MyISAM;
▷ FULLTEXT 인덱스 만들기
ALTER TABLE 테이블명 ADD FULLTEXT(필드명);
일반적인 인덱스와는 달리 MySQL의 FULLTEXT는 매우 빠르게 모든 텍스트 열을 검색한다. 검색 엔진과 유사한 방법으로 자연 언어를 이용해 검색할 수 있는 특별한 인덱스로 모든 데이터 문자열의 단어를 저장하기 때문이다.
참고사항
FULLTEXT 인덱스는 MySQL의 기본 저장 엔진 타입인 MyISAM 테이블에만 사용된다.
만약 테이블을 MyISAM 으로 변경해야 된다면
ALTER TABLE 테이블명 ENGINE = MyISAM;
FULLTEXT 인데스는 CHAR 와 VARCHAR, TEXT 열로만 생성 가능하다.
▷ 인덱스 정보 보기
SHOW INDEX FROM [테이블명];
▷ 인덱스 삭제
ALTER TABLE [테이블명] DROP INDEX [인덱스명];
* 이해를 돕기 위한 링크
'Databases > MYSQL' 카테고리의 다른 글
mysql - Replication 데이터베이스 여러개 사용 (0) | 2013.01.09 |
---|---|
mysql - start / stop / restart (0) | 2013.01.03 |
mysql - BinLog 파일 Text 변환 (0) | 2012.02.27 |
mysql - Replication (Master/Slave 구조) 설정 (0) | 2012.02.23 |
mysql - my.cnf 설정할 때 참고 (0) | 2012.02.23 |