索引介绍
相当于目录,能够提高查询性能。但因为其会再建一个空间来存放这些索引,所以会消耗部分空间,并且在对数据进行插入、更新等操作时,也会自动对索引目录进行修改,因此某些情况下也会降低性能
作用
通过设置关键字和数据位置的映射关系,从而加快检索,是较为常用的优化手段
关键字
从数据中心提取,用于标识、检索数据的特定内容
索引为什么快
索引相对于数据本身,数据量小
关键字都是排好序的,通过遍历也可以确定位置
索引类型
Mysql中的索引类型包括:普通索引、唯一索引、主键索引和全文索引,其中不同的索引类型仅仅是对关键字的限制不同,其他方面效果都是一样的
(1)普通索引
对索引关键字没限制
key/index(列名1,列名2, ...)
(2)唯一索引
要求记录提供的关键字不能重复
unique key(列名1,列名2, ...)
(3)主键索引
要求关键字不能重复,且不能为null
primary key(列名1,列名2, ...)
(4)全文索引
fulltext(列名1,列名2, ...)
需要引擎为myisam才能使用该索引,该索引的列可以通过使用:match(列名) ... against('查询内容'),来实现模糊查询,举例:
mysql> select * from peoples where match(username) against('john mike');