本文叙述的重点在于数据库的索引,因而,介绍树的这一章节不会面面俱到,而是着重强调了不同树之间的区别。在第三章节中,通过对比不同的索引结构和树,探讨“为什么要这样设计数据库索引”。 这篇文章从构思到完成前后花了一周,希望能够帮助自己对数据库索引这一知识点有更深理解。 文章目录 1. 树 1.1二叉树 1.1.1 满二叉树 1.1.2 完全二叉树 1.1.3 二叉查找树(BST) 1.1.4 平衡二叉树(AVL) 红黑树 1.2 B树与B+树 2. MySQL中常见的索引类型 2.1 FULLTEXT 2.2 HASH 2.3 B+树 2.3.1 InnoDB 2.3.2 MyISAM 3. 进阶面试题 3.1 MySQL数据库中的索引为什么能够加快查询速度? 3.2 倘若将索引改成B树,BST,AVL, 或红黑树,可以吗? 3.3 哈希(hash)比树(tree)更快,索引结构为什么要设计成树型? 1. 树 1.1二叉树 性质: 在非空二叉树中,第 i i i层的结点总数不超过 2 i − 1 2^{i-1} 2i−1, i > = 1 i>=1 i>=1; 深度为 h h h的二叉树最多有 2 h − 1 2^{h}-1 2