索引是帮助mysql高效获取数据的数据结构。
提取句子主干,就可以得到索引的本质: 索引是数据结构。
1.1 索引的分类
- 主键索引(primar key):唯一的标识,主键不可重复,只能有一个列作为主键
- 唯一索引(unique key):避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
- 常规索引(key/index):默认的,index。key关键字来设置
- 全文索引(FullText):在特定的数据库引擎下才有,快速定位数据
1.2 基础语法
-- 显示所有的索引信息
show index from student;
-- 增加一个索引
-- 索引名的命名方式 : idx_列名
alter table 表名 add index 索引名(列名);
-- 删除索引
DROP INDEX <索引名> ON <表名>
-- explain 分析sql执行的情况
-- 语法: explain sql语句
explain select * from student;
索引在小数据量的时候,用处不大,但是在大数据量的时候,区别十分明显。
1.3 索引原则
-
索引不是越多越好
-
不要对经常变动的数据加索引
-
小数据量的表不需要加索引
-
索引一般加在常用来查询的字段上
1.4 索引的数据结构
参考链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html