辛星让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);
然后说一下全文索引,所谓全文索引,主要是从数据库中搜索字符串信息的,比如我们逛很多论坛,它的搜索功能就特别需要全文索引了,我们的全文索引主要针对文件、文本的索引,而且目前来说,全文索引依然只对引擎MyIASM有效,咱们指定一下表的引擎就可以了,看下面代码:
#创建一个文章表,并且设置索引 create table article(id int primary key, title varchar(200) not null , body text, fulltext(title,body) ) engine = myisam ;
#按照这种方式我们可以快速的使用全文索引来查找内容 select * from article where match(title,body) against ('xin');
对于unique索引,也就是唯一索引,我们直接在在列级完整性约束后面加一个unique即可,这里需要注意的是被unique修饰的字段是可以为空的,而且是可以有多个为空的,当然也可以像创建一个普通index那样去创建,但是此时的index必须在前面加上一个unique修饰符。
对于索引的删除,可以使用【alter table 表名 drop index 索引名】,但是我感觉我们使用【drop index 索引名 on 表名】更好一些。
那么我们怎么看一个表的索引呢,我们可以用【desc 表名】的方式来查看索引,我们还可以使用【show index from 表名】或者【show index from 表名】来查看一个表的索引。

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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