데이터 베이스 MySQL 튜토리얼 辛星让mysql跑得更快第二节之索引上部分_MySQL

辛星让mysql跑得更快第二节之索引上部分_MySQL

Jun 01, 2016 pm 01:02 PM
더 빠르게 색인 부분

如果把我们的数据库信息当做一本书或者一个字典,那么索引可以理解为它的目录,如果我们创建一个优秀的目录,那么我们检索信息就会快得多,如果我们创建一个渣渣索引,也有可能拖垮整个系统。

索引我们分为四类,通常分为四大类型,即主键索引、全文索引、唯一索引、普通索引,这是按照索引的类型来分的。所谓主键索引,那就是当我们创建一张表的时候,如果我们指定了一个主键,那么它就自动成为主键索引,比如SQL语句如下(这里的id就自动成为了主键索引):

create table xin(id int unsigned primary key auto_increment,
		name   varchar(32) not null default '');
로그인 후 복사

一般来说,对于普通索引,我们可以在创建表的时候指定索引,也可以在创建表的时候指定索引,下面我们以县创建表然后再添加索引为例,看代码:

#创建一个数据表
create table xin(id int unsigned,
	name   varchar(32) not null default '');

#在该表上创建一个索引
create index xiaohei  on xin(id);
로그인 후 복사
这里说一下把,这里的添加索引的格式是:create index 索引名 on 表名(列名);

然后说一下全文索引,所谓全文索引,主要是从数据库中搜索字符串信息的,比如我们逛很多论坛,它的搜索功能就特别需要全文索引了,我们的全文索引主要针对文件、文本的索引,而且目前来说,全文索引依然只对引擎MyIASM有效,咱们指定一下表的引擎就可以了,看下面代码:

#创建一个文章表,并且设置索引
create table article(id int primary key,
	title varchar(200) not null ,
	body  text,
	fulltext(title,body)
) engine = myisam ;
로그인 후 복사
那么我们使用该全文索引的时候应该使用使用match和against,看下面操作:
#按照这种方式我们可以快速的使用全文索引来查找内容
select * from article where match(title,body)  against ('xin');
로그인 후 복사
但是mysql自带的这个全文索引并不支持中文,我们可以考虑使用sphinx来支持中文,这里先不介绍。

对于unique索引,也就是唯一索引,我们直接在在列级完整性约束后面加一个unique即可,这里需要注意的是被unique修饰的字段是可以为空的,而且是可以有多个为空的,当然也可以像创建一个普通index那样去创建,但是此时的index必须在前面加上一个unique修饰符。

对于索引的删除,可以使用【alter table 表名 drop index 索引名】,但是我感觉我们使用【drop index 索引名 on 表名】更好一些。

那么我们怎么看一个表的索引呢,我们可以用【desc 表名】的方式来查看索引,我们还可以使用【show index from 表名】或者【show index from 表名】来查看一个表的索引。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11에서 100% 디스크 사용량을 수정하는 방법 Windows 11에서 100% 디스크 사용량을 수정하는 방법 Apr 20, 2023 pm 12:58 PM

Windows 11에서 100% 디스크 사용량을 수정하는 방법

Windows 11에서 파일과 폴더를 숨기고 검색에서 제거하는 방법은 무엇입니까? Windows 11에서 파일과 폴더를 숨기고 검색에서 제거하는 방법은 무엇입니까? Apr 26, 2023 pm 11:07 PM

Windows 11에서 파일과 폴더를 숨기고 검색에서 제거하는 방법은 무엇입니까?

다음은 Windows 11 검색 표시줄을 사용할 수 없는 문제를 해결하는 6가지 방법입니다. 다음은 Windows 11 검색 표시줄을 사용할 수 없는 문제를 해결하는 6가지 방법입니다. May 08, 2023 pm 10:25 PM

다음은 Windows 11 검색 표시줄을 사용할 수 없는 문제를 해결하는 6가지 방법입니다.

Oracle 인덱스 유형은 무엇입니까? Oracle 인덱스 유형은 무엇입니까? Nov 16, 2023 am 09:59 AM

Oracle 인덱스 유형은 무엇입니까?

Windows 11 Outlook 검색이 작동하지 않음: 6가지 수정 사항 Windows 11 Outlook 검색이 작동하지 않음: 6가지 수정 사항 Apr 22, 2023 pm 09:46 PM

Windows 11 Outlook 검색이 작동하지 않음: 6가지 수정 사항

인덱스가 배열 제한을 초과하는 문제를 해결하는 방법 인덱스가 배열 제한을 초과하는 문제를 해결하는 방법 Nov 15, 2023 pm 05:22 PM

인덱스가 배열 제한을 초과하는 문제를 해결하는 방법

HTML에서 세 부분을 어떻게 나란히 넣을 수 있나요? HTML에서 세 부분을 어떻게 나란히 넣을 수 있나요? Sep 04, 2023 pm 11:21 PM

HTML에서 세 부분을 어떻게 나란히 넣을 수 있나요?

인덱스를 통해 PHP 및 MySQL에서 데이터 그룹화 및 데이터 집계의 효율성을 향상시키는 방법은 무엇입니까? 인덱스를 통해 PHP 및 MySQL에서 데이터 그룹화 및 데이터 집계의 효율성을 향상시키는 방법은 무엇입니까? Oct 15, 2023 am 11:39 AM

인덱스를 통해 PHP 및 MySQL에서 데이터 그룹화 및 데이터 집계의 효율성을 향상시키는 방법은 무엇입니까?

See all articles