码迷,mamicode.com
首页 > 其他好文 > 详细

第三章 索引

时间:2016-05-24 22:16:56      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

简介

 

索引存储类型: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!