InnoDB存储引擎
B+树索引
为什么MySQL使用B+树作为InnoDB存储引擎的索引结构?
答:1.Hash表索引:
优点:适合等值查询
缺点:所有数据均在内存,不适合范围查询。
2.二叉树和红黑树都是存单个数据值,不是值的集合。容易造成深度太深,IO次数增多,影响数据读取效率。
3.B树的非叶子节点存数据和索引,B+树的非叶子节点只存索引,叶子节点只存数据,相同规模的B树和B+树,B+树存储的索引个数更多。增大查询效率。
4.B+树.叶子节点还有双向链表,查询效率较快。
InnoDB存储引擎支持自适应hash索引,
MyISAM存储引擎
B+树索引
MEMORY存储引擎
Hash表索引:
优点:适合等值查询
缺点:所有数据均在内存,不适合范围查询。