MySQL 색인 빠르게 알 아 보기

3615 단어 MySQL인덱스
MySQL 인덱스 의 구축 은 MySQL 의 효율 적 인 운행 에 매우 중요 하 며,인덱스 는 MySQL 의 검색 속 도 를 크게 높 일 수 있다.
예 를 들 어 합 리 적 으로 디자인 하고 색인 을 사용 하 는 MySQL 이 람 보 르 기니 라면 색인 을 디자인 하고 사용 하지 않 은 MySQL 은 인력 삼륜차 다.
색인 은 단일 색인 과 조합 색인 으로 나 뉜 다.단일 색인,즉 하나의 색인 은 하나의 열 만 포함 하고 하나의 표 는 여러 개의 단일 색인 을 가 질 수 있 지만 이것 은 조합 색인 이 아니다.조합 색인,즉 하나의 색인 은 여러 열 을 포함 합 니 다.
색인 을 만 들 때 이 색인 이 SQL 검색 어 에 적용 되 는 조건(일반적으로 WHERE 자구 의 조건)인지 확인 해 야 합 니 다.
실제로 색인 도 표 입 니 다.이 표 는 메 인 키 와 색인 필드 를 저장 하고 실체 표를 가리 키 는 기록 입 니 다.
위 에 서 는 색인 을 사용 하 는 것 이 좋다 고 말 하고 있 지만,색인 을 너무 많이 사용 하면 남용 된다.따라서 색인 도 단점 이 있 을 수 있다.색인 은 검색 속 도 를 크게 향상 시 키 는 동시에 업데이트 표 의 속 도 를 낮 출 수 있다.예 를 들 어 시 계 를 INSERT,UPDATE,DELETE 등 이다.표를 업데이트 할 때 MySQL 은 데 이 터 를 저장 해 야 할 뿐만 아니 라 색인 파일 도 저장 해 야 하기 때문이다.
색인 을 만 들 면 디스크 공간 을 차지 하 는 색인 파일 입 니 다.
일반 색인
색인 생 성
이것 은 가장 기본 적 인 색인 으로 아무런 제한 이 없다.다음 과 같은 몇 가지 생 성 방식 이 있 습 니 다.

CREATE INDEX indexName ON mytable(username(length)); 
CHAR,VARCHAR 유형 이 라면 length 는 필드 의 실제 길이 보다 작 을 수 있 습 니 다.BLOB 와 TEXT 타 입 이 라면 length 를 지정 해 야 합 니 다.
표 구조 수정

ALTER mytable ADD INDEX [indexName] ON (username(length)) 
시 계 를 만 들 때 직접 지정 합 니 다.

CREATE TABLE mytable( 
 
ID INT NOT NULL, 
 
username VARCHAR(16) NOT NULL, 
 
INDEX [indexName] (username(length)) 
 
);
색인 삭제 문법

DROP INDEX [indexName] ON mytable; 
유일한 인덱스
이것 은 앞의 일반 색인 과 유사 합 니 다.다른 것 은 색인 열의 값 은 유일 해 야 하지만 빈 값 은 허용 합 니 다.조합 색인 이 라면 열 값 의 조합 이 유일 해 야 합 니 다.다음 과 같은 몇 가지 생 성 방식 이 있 습 니 다.
색인 생 성

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 
표 구조 수정

ALTER mytable ADD UNIQUE [indexName] ON (username(length)) 
시 계 를 만 들 때 직접 지정 합 니 다.

CREATE TABLE mytable( 
 
ID INT NOT NULL, 
 
username VARCHAR(16) NOT NULL, 
 
UNIQUE [indexName] (username(length)) 
 
);
ALTER 명령 으로 색인 추가 및 삭제
데이터 시트 의 색인 을 추가 하 는 네 가지 방법 이 있 습 니 다.
  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):이 문 구 는 홈 키 를 추가 합 니 다.색인 값 이 유일 해 야 하고 NULL 이 될 수 없습니다.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):이 문 구 는 색인 을 만 드 는 값 이 유일 해 야 합 니 다(NULL 을 제외 하고 NULL 이 여러 번 나타 날 수 있 습 니 다)
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list):일반 색인 을 추가 하면 색인 값 이 여러 번 나타 날 수 있 습 니 다
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):이 문 구 는 전체 텍스트 색인 에 사용 할 색인 을 FULLTEXT 로 지정 합 니 다.
  • 다음 인 스 턴 스 는 표 에 색인 을 추가 합 니 다.
    
    mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
    ALTER 명령 에서 DROP 자 구 를 사용 하여 색인 을 삭제 할 수도 있 습 니 다.다음 인 스 턴 스 에서 색인 삭제 시도:
    
    mysql> ALTER TABLE testalter_tbl DROP INDEX (c);
    ALTER 명령 으로 홈 키 추가 및 삭제
    홈 키 는 한 열 에 만 사용 할 수 있 습 니 다.홈 키 색인 을 추가 할 때 이 홈 키 가 기본적으로 비어 있 지 않 은 지 확인 해 야 합 니 다(NOT NULL).실례 는 다음 과 같다.
    
    mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
    mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
    
    ALTER 명령 으로 홈 키 를 삭제 할 수도 있 습 니 다:
    
    mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
    지정 을 삭제 할 때 는 PRIMARY KEY 만 지정 하면 되 지만,색인 을 삭제 할 때 는 색인 이름 을 알 아야 합 니 다.
    색인 정보 보이 기
    표 에 있 는 색인 정 보 를 표시 하기 위해 SHOW INDEX 명령 을 사용 할 수 있 습 니 다.출력 정 보 를 포맷 하기 위해 서\G 를 추가 할 수 있 습 니 다.
    다음 인 스 턴 스 를 시도 합 니 다:
    
    mysql> SHOW INDEX FROM table_name\G
    ........
    이상 은 MySQL 색인 에 대한 상세 한 내용 을 빠르게 알 고 있 습 니 다.MySQL 색인 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기