标签:
索引存储类型:B型树索引、哈希索引
索引分类:普通索引、唯一性索引、全文索引、单列索引、
多列所以、空间索引
create table 表名 (属性名 数据类型 [约束条件],
属性名 数据类型 [约束条件],
……
[unique|fulltext|spatial] index | key [别名] (属性名1 [(长度)] [asc|desc])
);
1.unique是可选参数,表示唯一性索引
2.fulltext是可选参数,表示全文索引
3.spatial是可选参数,表示空间索引
4.index和key用来指定字段为索引,二者功能相同,二选一即可
5.别名为可选参数
6.属性1指定索引对应的字段名称,该字段必须是已定义的
7.长度是可选参数,指定索引长度,字段是字符串时才可以使用
8.asc和desc是可选参数,前者表示升序,后者表示降序
普通索引可以创建在任何数据类型上
mysql> create table index1(id int,name varchar(20),sex boolean,index index_id (id));
查看结果:
mysql> create table index1(id int,name varchar(20),sex boolean,index index_id (id));
使用explain语句查看索引是否被使用:
mysql> create table index2(id int unique,name varchar(20),unique index index2_id (id asc));
mysql> show create table index2;
mysql> create table index3(id int,info varchar(20),fulltext index index3_id (info))engine=MyISAM;
mysql> show create table index3;
注:InnoDB不支持全文索引
单列索引是在表中的单个字段创建索引
mysql> create table index4(id int,subject varchar(30),index index4_st(subject(10)));
mysql> show create table index4;
mysql> create table index5(id int,name varchar(20),sex char(4),index index5_ns(name,sex));
此时存储引擎必须是MyISAM,索引字段必须非空约束
mysql> create table index6(id int,space geometry not null,spatial index index6_sp(space))engine=MyISAM;
形式1:
create [unique|fulltext|spatial] index 索引名on 表名 (属性名 [(长度)] [asc|desc]);
形式2:
alter table 表名 add index 索引名 (属性名 [(长度)] [asc|desc]);
drop index 索引名 on 表名;
标签:
原文地址:http://www.cnblogs.com/wuchaodzxx/p/5524850.html