MySQL 인덱스

인덱스의 장점

인덱스는 솔직히 말하면 우리 책의 최신 목차입니다.

목차를 사용하지 않고 신화사전을 이용하여 한자 "张"을 검색하는 경우 신화사전의 첫 페이지에서 마지막 페이지를 찾아야 할 수 있으며, 최대 2시간이 걸릴 수 있습니다. 사전이 두꺼울수록 시간이 더 많이 걸립니다. 이제 디렉토리를 사용하여 한자 "Zhang"을 찾습니다. Zhang의 첫 글자는 z이고, z로 시작하는 한자는 900페이지 이상부터 검색하는 데 1분밖에 걸리지 않습니다. 한자의 경우 이는 색인의 중요성을 나타냅니다.

인덱스는 열에서 특정 값이 있는 행을 빠르게 찾는 데 사용됩니다.

인덱스를 사용하지 않으면 MySQL은 첫 번째 레코드부터 시작한 다음 관련 행을 찾을 때까지 전체 테이블을 읽어야 합니다. 테이블이 클수록 시간이 더 걸립니다. 테이블의 쿼리된 열에 인덱스가 있으면 MySQL은 모든 데이터를 볼 필요 없이 데이터 파일의 중간을 검색하는 지점에 빠르게 도달할 수 있습니다.

물론, 인덱스를 너무 많이 쓰는 것은 쉽지 않습니다. 인덱스를 많이 쓸수록 수정 속도는 느려집니다. 수정된 데이터를 쓸 때 인덱스도 수정해야 하기 때문입니다. ㅋㅋㅋ 고유한 인덱스를 사용합니다. 이 열의 행 데이터에는 중복 값을 허용하지 않습니다. 이 열의 각 데이터 행은 고유해야 합니다

기본 키 인덱스null 값을 허용하지 않는 특별한 고유 인덱스입니다. 일반적으로 사용자 ID로 자주 사용되는 테이블 생성과 동시에 기본키 인덱스가 생성된다. 책의 페이지 번호와 유사합니다전체 텍스트 색인전체 검색이 필요한 데이터의 경우 전체 텍스트 색인을 수행하세요
참고: 12.7을 완료한 후 다음 부분을 공부하세요. ㅋㅋㅋ 코드>돈 A DD Index ( 사용자 이름 )
예시 설명 Money 테이블 증가 인덱스의 사용자 이름 필드

자세한 설명

Bas IC Syntaxalter table table add UNIQUE(field)
Example

ALTER TABLE money ADD UNIQUE(email)

예제 설명

전체 텍스트 색인

머니 테이블의 이메일 필드에 고유 인덱스를 추가하세요
유형자세한 설명
기본 구문alter 테이블 추가 FULLTEXT(필드)
ALTER TABLE mo 네 A DD FULLTEXT (content);money ADD FULLTEXT(content);
示例解释为money表的content字段增加唯一索引

主键索引

类型详细说明
基本语法alter table 表  add PRIMARY KEY(字段)
示例ALTER TABLE money ADD PRIMARY KEY(id);
示例解释为money表的id字段增加主键索引

创建表时也可以声明索引

创建表时可在创建表语句后加上对应的类型即可声明索引:

PRIMARY KEY(字段)
 INDEX [索引名] (字段)
 FULLTEXT [索引名] (字段)
 UNIQUE[索引名] (字段)

注:中括号中的索引名,代表可选。

整体示例如下:

CREATE TABLE test (
     id INT NOT NULL ,
     username VARCHAR(20) NOT NULL ,
     password INT NOT NULL ,
     content INT NOT NULL ,
     PRIMARY KEY (id),
     INDEX pw (password),
     UNIQUE (username),
     FULLTEXT (content

예시 설명
🎜머니 테이블의 콘텐츠 필드에 고유 인덱스 추가🎜🎜

기본 키 인덱스🎜🎜 🎜🎜🎜Type🎜🎜자세한 설명🎜🎜🎜🎜🎜🎜기본 구문🎜🎜alter 테이블 추가 PRIMARY KEY(필드)🎜🎜🎜🎜Example🎜🎜ALTER TABLE money 기본 추가 KEY(id);🎜🎜🎜🎜예시🎜🎜머니 테이블의 id 필드에 기본 키 인덱스를 추가하세요🎜🎜

테이블을 생성할 때 인덱스를 선언할 수도 있습니다. 🎜

테이블을 생성할 때 create table 문 뒤에 해당 유형을 추가하여 인덱스를 선언할 수 있습니다. 🎜

PRIMARY KEY (필드) 🎜 INDEX [인덱스 이름] (필드)🎜 FULLTEXT [인덱스 이름] (필드)🎜 UNIQUE[인덱스 이름] (필드)🎜🎜

참고: 괄호 안의 인덱스 이름은 선택 사항을 나타냅니다. 🎜

전체 예는 다음과 같습니다. 🎜

CREATE TABLE test (🎜 id INT NOT NULL , 🎜 사용자 이름< /code> VARCHAR(20) NOT NULL, 🎜 비밀번호 INT NOT NULL, 🎜 content INT NOT NULL, 🎜 기본 키(id), 🎜 INDEX 비밀번호(비밀번호), 🎜 고유(사용자 이름),🎜 FULLTEXT(<코드>콘텐츠)🎜 ) 엔진 = InnoDB;🎜🎜🎜

지속적인 학습
||
<?php echo "Hello Mysql"; ?>
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!