>  기사  >  데이터 베이스  >  mysql 인덱스 기본에 대한 자세한 설명

mysql 인덱스 기본에 대한 자세한 설명

WJ
WJ앞으로
2020-05-30 09:49:222670검색

mysql 인덱스 기본에 대한 자세한 설명

MySQL - 인덱스 기본

이 문서에서 인덱스 생성을 테스트하는 데 사용된 사용자 테이블의 구조는 다음과 같습니다.

mysql 인덱스 기본에 대한 자세한 설명

인덱스란 무엇입니까

인덱스(MySQL에서는 "키"라고도 함)는 스토리지 엔진이 레코드를 빠르게 찾을 수 있도록 하는 데이터 구조입니다

——"고성능 MySQL"

우리는 실제로 인덱스가 무엇인지 파악합니다. 이는 필요한 데이터 행을 신속하게 일치시키고 찾는 데 도움이 되는 기능을 갖는 데이터 구조로, 데이터베이스 성능 최적화를 위해 가장 일반적으로 사용되는 도구 중 하나입니다. 그 역할은 슈퍼마켓의 쇼핑 가이드나 책의 카탈로그와 같습니다.

인덱스 유형

SHOW INDEX FROM table_name;을 사용하여 인덱스 세부정보를 볼 수 있습니다SHOW INDEX FROM table_name;查看索引详情

3mysql 인덱스 기본에 대한 자세한 설명

1、主键索引 PRIMARY KEY

它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。

注意:一个表只能有一个主键

mysql 인덱스 기본에 대한 자세한 설명

2、唯一索引 UNIQUE

唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。

可以通过ALTER TABLE  table_name ADD UNIQUE (column);创建唯一索引

mysql 인덱스 기본에 대한 자세한 설명

mysql 인덱스 기본에 대한 자세한 설명

可以通过ALTER TABLE  table_name ADD UNIQUE (column1,column2);创建唯一组合索引

mysql 인덱스 기본에 대한 자세한 설명

mysql 인덱스 기본에 대한 자세한 설명

3、普通索引 INDEX

最基本的索引,它没有任何限制。

可以通过ALTER TABLE  table_name ADD INDEX index_name (column);创建普通索引

mysql 인덱스 기본에 대한 자세한 설명

mysql 인덱스 기본에 대한 자세한 설명

4、组合索引 INDEX

组合索引,即一个索引包含多个列。多用于避免回表查询。

可以通过ALTER TABLE  table_name  ADD INDEX index_name(column1, column2, column3);创建组合索引

mysql 인덱스 기본에 대한 자세한 설명

mysql 인덱스 기본에 대한 자세한 설명

5、全文索引 FULLTEXT

全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。

可以通过ALTER TABLE table_name ADD FULLTEXT (column);创建全文索引

mysql 인덱스 기본에 대한 자세한 설명

1mysql 인덱스 기본에 대한 자세한 설명

索引一经创建不能修改,如果要修改索引,只能删除重建。可以使用DROP INDEX index_name ON table_name;

3mysql 인덱스 기본에 대한 자세한 설명

1. 기본키 인덱스 PRIMARY KEY

허용하지 않는 특별한 고유 인덱스입니다 빈 공간 값. 일반적으로 기본 키 인덱스는 테이블 생성과 동시에 생성됩니다.

참고: 테이블에는 하나의 기본 키만 있을 수 있습니다

🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜2. 고유 인덱스 UNIQUE🎜🎜 고유 인덱스 열의 값은 고유해야 하지만 null 값은 허용됩니다. 복합 인덱스의 경우 컬럼 값의 조합이 고유해야 합니다. 🎜🎜ALTER TABLE table_name ADD UNIQUE(열)을 통해 고유 인덱스를 생성할 수 있습니다🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜 ALTER TABLE table_name ADD UNIQUE (column1,column2)를 통해 고유한 결합 인덱스를 생성할 수 있습니다.🎜🎜🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜3 일반 인덱스 INDEX🎜🎜 가장 기본적인 색인으로 제한이 없습니다. 🎜🎜ALTER TABLE table_name ADD INDEX index_name(열);🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜4. 결합 인덱스 INDEX🎜🎜결합 인덱스, 즉 인덱스에는 여러 열이 포함됩니다. 주로 테이블 쿼리를 피하기 위해 사용됩니다. 🎜🎜ALTER TABLE table_name ADD INDEX index_name(column1,column2,column3);🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜5. 전체 텍스트 색인 FULLTEXT🎜🎜전체 텍스트 색인(전체 텍스트 검색이라고도 함)이 핵심입니다. 현재 검색 엔진에서 사용되는 기술. 🎜🎜ALTER TABLE table_name ADD FULLTEXT(열);🎜🎜mysql 인덱스 기본에 대한 자세한 설명🎜🎜1mysql 인덱스 기본에 대한 자세한 설명🎜🎜인덱스는 한 번 생성되면 수정할 수 없습니다. 인덱스를 수정하려면 삭제하고 다시 작성하기만 하면 됩니다. DROP INDEX index_name ON table_name;을 사용하여 인덱스를 삭제할 수 있습니다. 🎜🎜🎜인덱스 설계의 원칙🎜🎜🎜1. 인덱싱에 적합한 열은 where 절에 나타나는 열이거나, 연결 절에 지정된 열입니다🎜🎜2. 카디널리티가 작은 클래스의 경우 인덱싱 효과가 떨어집니다. , 아니요 이 열에는 인덱스를 생성해야 합니다🎜🎜3. 짧은 인덱스를 사용하세요. 긴 문자열 열을 인덱스하는 경우 접두어 길이를 지정해야 인덱스 공간을 많이 절약할 수 있습니다. -색인. 인덱스에는 추가 디스크 공간이 필요하며 쓰기 작업 성능이 저하됩니다. 테이블 내용이 수정되면 인덱스가 업데이트되거나 재구성됩니다. 인덱스 열이 많을수록 이 시간이 길어집니다. 따라서 쿼리를 용이하게 하기 위해 필요한 인덱스만 유지하세요. 🎜

관련 참고자료php 중국어 웹사이트

위 내용은 mysql 인덱스 기본에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51dev.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제