MySQL索引介绍

来源:互联网 发布:企业网站源码带手机版 编辑:程序博客网 时间:2024/06/04 19:10

索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。

创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度,

创建索引由三种方法:在创建表的时候创建,在已存在的表上创建和用alter table语句创建。

创建索引的基本语法格式:


ASC参数表示升序排列,DESC参数表示降序排列。

一,在创建表的时候创建索引

1,  创建一个普通索引:

创建一个index1的表,在其id字段上建立索引:

create table index1(id int,namevarchar(20),sex boolean,index(id));

查看索引是否被引用àexplain select * from index1 where id=1;


2,  创建唯一性索引:

创建一个index2表,在id字段上建立唯一性索引,升序排列:

create table index2(id int, namevarchar(20),unique index index2_id(id asc));

创建结果如图:


3,  创建全文索引;

目前只有myisam支持全文索引。

创建一个index3表,在info字段建立全文索引:

create table index3(id int,infovarchar(20),fulltext index3_info(info))engine=myisam;

结果如图所示:


4,  创建单列索引

创建index4表,在subject字段上建立单列索引:

create table index4(id int,subjectvarchar(20),index index4_sb(subject(10)));

结果如图所示:


5,  创建多列索引

创建index5表,在name和sex上建立多列索引:

create table index5(id int, namevarchar(10),sex boolean,index index_nasex(name,sex));

结果如图所示:


6,  创建空间索引:

创建index6表,在表中space字段建立空间索引,建立空间索引的字段必须有非空约束,存储引擎必须是myisam:

create table index6(id int,space geometrynot null,spatial index index6_space(space))engine=myisam;

结果如图所示:


二,在已存在的表上创建索引

基本语法为:


首先创建index7,不设置索引:


为index7在id字段加一个普通索引:

create index index7_id on index7(id);

变化后结果显示:


三,用alter table 语句创建索引

基本语法:


创建一个index8,不设置索引:

如下:


为name加一个索引:

alter table index8 add indexindex8_name(name(20));

变化如下:


四,删除索引

drop index索引名 on 表名;

索引就先看到这里了,接下来了解一下MySQL的视图和触发器。


4 0
原创粉丝点击