索引的定义
MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构
索引的分类
在之前我写过一篇博客里面的测试数据库就有诸多索引,可以作为例子
主键索引:PRIMARY KEY
唯一标识,主键不可重复,且只有一个列是主键
右击选择“改变表”
在“索引”栏就可以看到该表的索引
唯一索引:UNIQUE KEY
(其实并不唯一)避免重复的列出现
这个student表就包含了3种索引
唯一索引可以重复(不同于主键索引)多个列都可以标识为唯一索引
常规索引:KEY / INDEX
默认的,直接用index或者key来设置
全文索引:FULLTEXT
在特定数据库引擎中才有,MyISAM
能够快速定位数据
添加一个索引
可以在创建表的时候就添加,可以在之后修改表的时候添加,比如
-- 增加一个索引:alter table 表名 add 索引种类 字段名(字段名)
ALTER TABLE school.student ADD FULLTEXT INDEX `studentname`(`studentname`)
索引很难看出效果的,需要语句:
-- 显示所有索引信息
SHOW INDEX FROM student