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 명령 으로 색인 추가 및 삭제데이터 시트 의 색인 을 추가 하 는 네 가지 방법 이 있 습 니 다.
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 색인 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.