码迷,mamicode.com
首页 > 数据库 > 详细

MySQL入门很简单: 5 索引

时间:2016-04-14 22:06:16      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

1. 索引的含义和特点

索引:创建在表上,是对数据库表中一列或多列的值进行排序的一种结构。

 

存储类型: B性树(BTREE)索引和哈希(HASH)索引; InnoDB和MyISAM支持BTREE索引, MEMORY支持BTREE索引和HASH索引

 

优缺点:  优点——提高检索数据的速度; 缺点: 创建和维护索引需要耗费时间

 

2. 索引分类

1)普通索引:不加任何限制条件

2)唯一性索引:使用UNIQUE参数(主键就是一种特殊唯一性索引)

3)全文索引: 使用FULLTEXT参数,只能创建在CHAR VARCHER或TEXT类型的字段上

4)单列索引: 在表中的单个字段上创建索引,唯一性索引或全文索引

5)多列索引: 在表的多个字段上创建一个索引;唯一性索引或全文索引

6)空间索引:使用SPATIAL参数,只有MyISAM存储引擎支持空间索引,必须建立在空间数据类型上,切必须非空

 

 

3. 如何设计索引

技术分享

 

 

4. 创建索引

三种方式:创建表时创建索引, 在已经存在的表上创建索引,使用ALTER TABLE语句创建

 

4.1 创建表的时候创建索引

技术分享

 

 

1)创建普通索引

在表的id字段建立索引
CREATE TABLE index1(id INT,
name VARCHAR(20),
sex BOOLEAN,
INDEX(id)
);

 

2)创建唯一性索引

CREATE TABLE index2(id INT UNIQUE,
name VARCHAR(20),
UNIQUE INDEX index2_id(id ASC)
);

 

3)创建全文索引

CREATE TABLE index3(id INT,
info VARCHAR(20),
FULLTEXT INDEX index3_info(info)
)ENGINE=MyISAM;

 

4)创建单列索引

CREATE TABLE index4(id INT,
subject VARCHAR(20),
INDEX index4_st(subject(10))
);

 

5)创建多列索引

CREATE TABLE index5(id INT ,
name VARCHAR(20),
sex CHAR(4),
INDEX index5_ns(name, sex)
);

 

6)创建空间索引

CREATE TABLE index6(id INT ,
space GEOMETRY NOT NULL,
SPATIAL INDEX index6_sp(space)
)ENGINE=MyISAM;

 

 

4.2 在已经存在的表上创建索引

 

 

4.3 用ALTER TABLE语句创建索引

 

 

5. 删除索引

 

MySQL入门很简单: 5 索引

标签:

原文地址:http://www.cnblogs.com/zxqstrong/p/5393187.html

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