一、什么数据结构适合做索引?
1.哈希
优点:查找可以直接按key进行查找,查找效率高。
缺点:不能进行范围查找。
2.平衡二叉树
3.B树
4.B+树
4.1 tree都是有序的。
4.2优缺点
优点:叶子节点有指向相邻叶子节点的额指针,提高范围查找的效率。
缺点:一个节点中存放多少元素比较合适?
5.总结
B树或B+树中的节点为一页或页的倍数比较合适。
mysql中的myISAM和innodb使用B+树。
二、mysql中的索引原理。
1.存储引擎:myISAM和InnoDB
2.索引是有序的。
3.主键索引
三、索引类型
1.普通索引:仅加速查询
2.唯一索引:加速查询 + 列值唯一(可以有null)
3.主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
4.组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
5.全文索引:对文本的内容进行分词,进行搜索