1、索引的基本介绍
利用关键字,就是记录的部分数据(某个字段,某些字段,某个字段的一部分),建立与记录位置的对应关系,就是索引。
索引的作用:是用于快速定位实际数据位置的一种机制。
例如:
字典的 检索
写字楼 导航
索引在mysql中,是独立于数据的一种特殊的数据结构。
2、索引的类型:
4种类型:
主键索引,唯一索引,普通索引,全文索引。
无论任何类型,都是通过建立关键字与位置的对应的关系来实现的。
以上类型的差异,是对关键字的要求不同。
关键字:记录的部分数据(某个字段,某些字段,某个字段的一部分)
普通索引:对关键字没有要求。
唯一索引:要求关键字不能重复,同时增加唯一约束。
主键索引:要求关键字不能重复,也不能为NULL。同时增加主键约束。
全文索引:关键字的来源不是所有字段的数据,而是从字段中提取的特别关键词。
关键词的来源:可以是某个字段,也可以是某些字段(复合索引)。如果一个索引通过在多个字段上提取的关键字,称之为复合索引。
比如:alter table emp add index (field1,field2)
3、创建索引注意事项:
第一:较频繁的作为查询条件字段应该创建索引
select * from emp where empno = 1
第二:唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
select * from emp where sex = '男‘
第三:更新非常频繁的字段不适合创建索引
select * from user where iphone='181'
第四:不会出现在WHERE子句中字段不该创建索