官方介绍索引是帮助MySQL高效获取数据的数据结构。
提取句子主干,就可以得到索引的本质:索引是数据结构。
索引的分类
在一个表中,主键索引只能有一个,唯一索引可以有多个
· 主键索引(PRIMARY KEY):唯一的标识,主键不可重复,只能有一个列作为主键
· 唯一索引(UNIQUE KEY):避免重复的列出现,唯一索引可以重复(多个列都可以标识为唯一索引)
· 常规索引(KEY/INDEX):默认的,可以用key、index关键字进行设置
· 全文索引(FULLTEXT):只能在文本类型CHAR,VARCHAR,TEXT类型字段上创建全文索引。快速定位数据。
基础语法:
-- 1.在创建表的时候,给字段增加索引
-- 2.创建完毕后,增加索引
-- 显示所有的索引信息
SHOW INDEX FROM student
-- 增加一个索引
ALTER TABLE school.student ADD FULLTEXT INDEX `studentname`(`studentname`);
-- EXPLAIN 分析SQL语句执行的状况
EXPLAIN SELECT * FROM student -- 非全文索引
EXPLAIN SELECT * FROM student WHERE MATCH(studentname) AGAINST('张');