一、什么是索引?
1、索引是帮助MYSQL高效获取数据的数据结构;
2、索引在存储引擎中实现,每种存储引擎的索引都不一定完全相同,每种存储引擎也不一定支持所有的索引类型;
二叉树查找算法二、索引的分类
1、普通索引和唯一索引
普通索引是MYSQl的基本索引类型
唯一索引对应列的值必须唯一,不允许重复,但允许空值
如果是组合索引,则列值的组合必须唯一
主键索引是一种特殊的唯一索引(这句话正确但是不准确),不允许有空值
2、单列索引和组合索引
单列索引指只包含一个列的索引,一个表中可以有多个单列索引
组合索引指表的多个字段组合上创建的索引。循环做前缀集合。
3、全文索引
FYLLTEXT类型索引,可以在char、varchar或者text类型的列上创建
仅MYISAM引擎支持
4、空间索引
对空间数据类型的字段建立的索引
三、索引设计原则
1、索引并非越多越好
2、数据量不多不需要建索引
3、列中的值变化不多也不需要建索引
4、经常排序和分组的数据列要建立索引
5、唯一性约束对应使用唯一性索引
网友评论