어떤 유형의 mysql 인덱스가 있습니까?

青灯夜游
풀어 주다: 2019-05-06 13:43:13
원래의
21837명이 탐색했습니다.

현재 MySQL에서 사용할 수 있는 주요 인덱스 유형은 일반 인덱스, 고유 인덱스, 기본 키 인덱스, 결합 인덱스, 전체 텍스트 인덱스입니다. 다음 기사에서는 이러한 MySQL 인덱스를 소개할 예정이며, 이것이 도움이 되기를 바랍니다.

어떤 유형의 mysql 인덱스가 있습니까?

필드에 인덱스를 추가하면 데이터 읽기 속도를 높이고 프로젝트의 동시성과 스트레스 저항성을 향상할 수 있습니다. 인덱스 최적화는 MySQL의 최적화 방법입니다. 색인은 책의 목차와 같습니다. 목차의 페이지 번호를 기준으로 원하는 내용을 빠르게 찾을 수 있습니다.

현재 MySQL에서 사용할 수 있는 주요 인덱스 유형을 살펴보겠습니다.

1 일반 인덱스

일반 인덱스는 가장 기본적인 인덱스이며 제한이 없으며 값이 비어 있을 수 있으며 쿼리 속도만 향상됩니다. 다음과 같은 방법으로 생성하거나 삭제할 수 있습니다:

1), 직접 인덱스 생성

CREATE INDEX index_name ON table(column(length))
로그인 후 복사

2), 테이블 구조를 수정하여 인덱스 추가

ALTER TABLE table_name ADD INDEX index_name ON (column(length))
로그인 후 복사
# 🎜🎜#3), 삭제 색인

DROP INDEX index_name ON table
로그인 후 복사

2, 고유 색인

고유 색인은 다음과 유사합니다. 일반 인덱스이지만 다릅니다. 즉, 인덱스 열의 값은 고유해야 하지만 null 값은 허용됩니다. 복합 인덱스의 경우 컬럼 값의 조합이 고유해야 합니다. 간단히 말하면 고유 인덱스는 쿼리 속도를 높이고 고유 열 값(null을 가질 수 있음)을 제공합니다. 다음과 같은 방법으로 생성할 수 있습니다:

1), 고유 인덱스 생성

CREATE UNIQUE INDEX indexName ON table(column(length))
로그인 후 복사

2), 테이블 구조 수정

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
로그인 후 복사

# 🎜🎜 #3. 기본 키 인덱스

기본 키 인덱스는 하나의 기본 키만 가질 수 있으며 null 값은 허용되지 않습니다. 간단히 말하면 기본 키 인덱스는 쿼리 속도를 높이고 열 값은 고유합니다(null을 가질 수 없음). 테이블에는 하나만 있습니다.

일반적으로 테이블 생성과 동시에 기본 키 인덱스가 생성됩니다.

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );
로그인 후 복사

물론 ALTER 명령을 사용할 수도 있습니다. 기억하세요: 테이블에는 기본 키가 하나만 있을 수 있습니다.

4. 결합 인덱스

결합 인덱스는 인덱스 생성이 쿼리 조건에 사용되는 경우에만 여러 필드에 생성된 인덱스를 나타냅니다. 인덱스의 첫 번째 필드만 사용됩니다. 결합 인덱스를 사용할 경우 가장 왼쪽에 설정된 접두사를 따릅니다.

결합 인덱스는 여러 컬럼 값으로 구성된 인덱스라고 할 수 있으며, 특별히 조합 검색에 사용되며 인덱스 병합보다 효율이 더 높다.

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
로그인 후 복사

5. 전체 텍스트 색인

전체 텍스트 색인은 직접 비교하기보다는 주로 텍스트에서 키워드를 찾는 데 사용됩니다. 인덱스 비교의 값으로. 전체 텍스트 인덱스는 다른 인덱스와 매우 다릅니다. 이는 단순히 where 문의 매개변수 일치라기보다는 검색 엔진에 가깝습니다. 전체 텍스트 인덱스는 일반 where 문과 like 대신 일치 항목 작업과 함께 사용됩니다. create table, alter table, create index에 사용할 수 있지만 현재는 char, varchar, text 열에 대해 전체 텍스트 인덱스만 생성할 수 있습니다. 데이터의 양이 많을 경우 먼저 테이블에 대한 전체 텍스트를 생성한 후 작성하는 것보다 글로벌 인덱스가 없는 테이블에 데이터를 넣은 후 CREATE 인덱스를 사용하여 전체 텍스트 인덱스를 생성하는 것이 더 낫다는 점을 언급할 필요가 있습니다. 데이터를 넣으면 속도가 훨씬 빨라집니다.

1), 테이블 생성 시 전체 텍스트 색인을 추가하는 것이 적합합니다

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    FULLTEXT (content)
);
로그인 후 복사

2), 전체 텍스트 색인을 추가하도록 테이블 구조를 수정 #🎜 🎜#

ALTER TABLE article ADD FULLTEXT index_content(content)
로그인 후 복사

3) 직접 생성 Index

CREATE FULLTEXT INDEX index_content ON article(content)
로그인 후 복사
간단히 말하면 전체 텍스트 색인은 텍스트 내용을 분할하여 검색하는 것입니다.

위 내용은 어떤 유형의 mysql 인덱스가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿