索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。
创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度,
创建索引由三种方法:在创建表的时候创建,在已存在的表上创建和用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的视图和触发器。