索引
索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。索引是提高数据库性能的重要方式。
MySQL中的所有数据类型都可以被索引。MySQL的索引包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等。
索引:索引由数据库表中的一列或者多列组合而成,起作用时提高对表中数据的查询速度。
索引是创建在表上的,是对于数据库中的一列或者多列的值进行排序的一种结构。
索引分为:
- 普通索引
- 惟一性索引
- 全文索引
- 单列索引
- 多列索引
- 空间索引
索引的设计原则:
- 选择唯一性索引
- 为经常需要排序,分组和联合操作的字段建立索引。
- 为常作为查询条件的字段建立索引
- 限制索引的数目
- 尽量使用数据量少的索引
- 尽量使用前缀来索引
- 删除不在使用或者很少使用的索引
1.创建索引:创建索引是指在某个表的某一列或者多列上建立一个索引,以方便提高多表的访问速度。
创建索引有三种方式,这三种方式分别是创建表的时候创建索引,在已经存在的表上面建立索引和使用ALTER TABLE 语句来创建索引。
1.1创建表的时候创建索引
CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件],属性名 数据类型 [完整性约束条件]);
1 .创建普通索引
2 .创建惟一性索引
3 .创建全文索引
4 .创建单列索引
5 .创建多列索引
6 .创建空间索引
1.2在已经存在的表上创建索引:在已经存在的表上,可以直接为表上的一个或几个字段创建索引。基本形式如下:
CREATE [ UNIQUE | FULLTEXT |SPATIAL ] INDEX 索引名 ON 表名(属性名 [(长度)] [ASC |DESC ] );
1 .创建普通索引
2 .创建惟一性索引
3 .创建全文索引
4 .创建单列索引
5 .创建多列索引
6 .创建空间索引
1.3使用ALTER TABLE 语句来创建索引:在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引。基本形式如下:
ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT |SPATIAL ] INDEX 索引名(属性名 [(长度)] [ASC| DESC] );
1 .创建普通索引
2 .创建惟一性索引
3 .创建全文索引
4 .创建单列索引
5 .创建多列索引
6 .创建空间索引
2.删除索引:删除索引是指将表中已经存在的索引删除掉。
对应已经存在的索引,可以通过DROP 语句来删除索引,基本形式为:
DROP INDEX 索引名 ON 表名;