索引
MySQL官方定义为:索引(index)是帮助MySQL高效获取数据 的数据结构。
提取句子主干,就可以得到索引的本质,索引是数据结构。
索引的分类
在一个表中,主键索引只有一个,唯一索引可以有多个
一、 主键索引(PRIMARY KEY)
唯一标识,不可重复,只能有一个列作为主键
二、唯一索引(UNIQUE KEY)
避免重复的列出现,唯一索引可以重复,多个列都可以标识位 唯一索引
三、常规索引(KEY / INDEX)
默认的,index 或key 关键字设置
四、全文索引(FullText)
在特定的数据库引擎下才有,MyISAM
快速定位数据
索引的使用:
- 在创建表的时候给字段增加索引
- 创建完毕后,增加索引
-- 显示这个表中所有的索引
SHOW INDEX FROM student
-- 增加一个全文索引(索引名)列名
ALTER TABLE school.`student` ADD FULLTEXT INDEX `index_name`(`name`);
-- EXPLAIN 分析sql执行情况
EXPLAIN SELECT * FROM student; -- 非全文索引
EXPLAIN SELECT * FROM student WHERE MATCH(`name`) AGAINST('张');