> 데이터 베이스 > MySQL 튜토리얼 > mysql 데이터베이스 인덱스

mysql 데이터베이스 인덱스

黄舟
풀어 주다: 2017-02-28 13:36:33
원래의
1509명이 탐색했습니다.

인덱스는 모든 레코드에서 사용되는 포인터가 포함된 특수 파일입니다. 책의 목차와 마찬가지로 책 검색 속도를 높여줍니다. 인덱스가 없으면 데이터베이스를 거의 사용할 수 없습니다. 누군가가 농담으로 인덱스를 사용하는 MySQL이 람보르기니라면 인덱스를 사용하지 않으면 기껏해야 인간 삼륜차에 불과하다고 농담으로 말한 적이 있습니다.

인덱스는 클러스터형 인덱스와 비클러스터형 인덱스로 구분됩니다. 클러스터형 인덱스는 여러 행의 검색 속도를 향상시키고, 비클러스터형 인덱스는 단일 데이터 행의 검색 속도를 향상시킵니다. 데이터베이스 기능에서는 고유 인덱스, 기본 키 인덱스, 클러스터형 인덱스의 세 가지 유형의 인덱스를 생성할 수 있습니다.

일반지수 는 아무런 제한이 없는 지수입니다. CREATE INDEX index_name ON table(column(col_name));它是MYIASM数据库引擎默认的BTREE类型的索引。使用navicat导出mysql数据库脚本的时候经常会看到这样的字段。

 <strong> 唯一索引</strong>是在普通索引的基础上保证索引列的值必须唯一,除主键外可以有空值。建立过程:

아아앙

索引的利弊: 🎜>

    索引大大提高查询与排序速度,但是会小号数据保存与更新效率。索引需要生成索引文件,当大量使用组合索引的话,索引文件就会迅速膨胀。 针对这些问题,提出了以下优化方法:

1. 클러스터형 인덱스와 비클러스터형 인덱스는 언제 사용하나요?

내의 데이터 >
액션 설명 클러스터형 인덱스 사용

비-클러스터형 인덱스 사용 클러스터형 인덱스 인덱스
열은 그룹화되고 정렬되는 경우가 많습니다 사용 사용
사용됨 사용되지 않음
1개 또는 매우 적은 고유 값 사용되지 않음 사용되지 않음
소수의 다른 값 사용 사용하지 않음
다양한 값의 개수 사용되지 않음
자주 업데이트되는 열 사용 사용하지 않음 사용
외래 키 열 사용
기본 키 열 사용 사용
색인 열을 자주 수정하세요 사용하지 않음 사용

2. 使用短索引列。

<strong>    </strong>索引列如果使用varchar(255)的话会让索引文件变大,不利于检索,这255个字符中前10或20个字符能够保证索引唯一的话,就使用这些字段作为索引列即可。

3. like语句

    在数据库操作中不建议使用like语句,但费用不可时,like"%aaa%"不会使用索引而like“aaa%”则可以使用索引。

4. 不要再索引列执行运算,这样会导致索引失效。

5. 使用越小越简单的数据类型越好;尽量避免null;

6. 组合索引仅能对索引最左边的索引进行有效查询。如:

    索引列为c1,c2,以下查询语句有效:

select * form table where c1=1 and c2=2;
 
   select * from table where c1=1;
로그인 후 복사

但对于一下查询语句是无效的:

select * from table where c2=2;
로그인 후 복사

 以上就是mysql数据库-索引的内容,更多相关内容请关注PHP中文网(www.php.cn)!<br>

<br>

<br>

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