目录
一、索引概念
1.索引的概念
对数据库中的表进行查询操作,有两种搜索扫描方式:一种是全表扫描,另一种是使用表上建立的索引进行扫描。
全表扫描要查找某个特定的行,必须从头开始一一查看表中的每一行,与查询条件作对比,返回满足条件的记录,当表中有很多行时,查询效率非常低。
建立索引目的:
- 提高查询速度
- 保证列值的唯一性
- 查询优化依靠索引起作用
- 提高ORDER BY,GROUP BY的执行速度
2.索引的分类
1)普通索引
普通索引是最基本的索引类型,它没有唯一性之类的限制。创建普通引的关键字是INDEX .
2)唯一性索引
唯一性索引和前面的普通索引基本相同,但有一个区别:唯一性索引的索引列的所有值都只能出现一次,即必须是唯一的。创建唯一性索引的关键字UNIQUE .
3)主键
主键是一种唯一性索引,它必须指定为 PRIMARY KEY 。主键一般在创建表时指定,也可以通过修改表的方式加入键,但是每个表只能有一个主键。
4)聚簇索引
聚簇索引的索引顺序就是数据存储的物理顺序,这样能保证索引值相近的元组所存储的物理位置也相近。一个表只能有一个聚簇索引。
5)全文索引
MySQL 支持全文检索和全文索引。在 MySQL 中,全文索引的索引类型为 FULL