索引
索引是对某个字段进行排序的一种方式,对表中某个字段创建索引会创建另一种数据结构(B+树),数据结构中保存着字段的值,而该值又指向与他相关的记录,这种数据结构是经过排序的,可以进行二分查找
创建索引
alter table 表名 add index(列名)
索引分类
- 主键索引(primary)
- 唯一性:一个表中只能有一个主键索引
- 效率高:因查询效率高,为一个表中只能有一个索引
- 创建主键索引的列的值不能为空null,且不能重复
- 主键索引的类型基本都为int型
- 唯一索引(unique)
- 不唯一:一个表中可创建多个唯一索引
- 高效性:查询效率高
- 创建唯一索引的列的值不能重复(与主键该性值的区别在于可以为null)
- 若在唯一索引的条件加上not null,那么就等价于主键索引
- 普通索引(index)
- 不唯一:一个表中可创建多个普通索引
- 可重复:创建普通索引的列的值可重复(若列中元素有重复,且依然要添加索引,就添加普通索引)
- 全文索引
- 文中有大量文字检索的时候使用全文索引
创建索引的原则
- 频繁查询的字段
- 经常做表连接的