数据库总结

1.为什么mysql要用B+树?能不能用二叉树?

不能用二叉树,二叉树太深而且一个节点能存储的数据太小

2.联合索引的数据结构?

非叶子节点存储的是第一个关键字的索引,而叶节点存储的则是三个关键字col1、col2、col3三个关键字的数据,且按照col1、col2、col3的顺序进行排序。

 

2.联合索引里面存放的是数据主键而不是地址,是的

数据库总结

3.三个字段组成的联合索引只命中一项怎么办?两项呢?

如果有第一项则用索引

否则全表查询

4.什么是最左前缀匹配?

最左前缀匹配:mysql会一直向右匹配,直到遇到范围查询(<、>、between、like)即停止匹配

比如 a = 3 and b = 4 and c > 5 and d = 6,如果建立的是(a,b,c,d)这种顺序的索引,那么 d 是用不到索引的,但是如果建立的是 (a,b,d,c)这种顺序的索引的话,那么就没问题,而且 a,b,d 的顺序可以随意调换。