MySQL 索引
什么是索引 相当于书目录,用于快速检索 优点 提高数据检索效率 提高表间的JOIN效率 利用唯一性索引,保证数据的唯一性 提高排序和分组效率 缺点 消耗更多物理存储 数据变更时,索引也需要更新,降低更新效率 哪种情况下应该创建索引 经常检索的列 经常用于表连接的列 经常排序/分组的列 索引不使用建议 基数很低的列 更新频繁但检索不频繁的列 BLOB/TEXT 等长内容列 很少用于检索的列 二分查找 折半查找,binary search 一种在有序数组中查找某一特定元素的搜索算法 二分查找发的优点是比较次数少,查找速度快,平均性能好,其缺点是要求待查表为有序表,且插入删除困难,因此,二分查找法适用于不经常变动而查询频繁的有序列表 二叉树,binary tree 二叉树是每个节点至多只有二颗子树(不存在度大于2的节点),二叉树的子树有左右有序之分,次序不能颠倒。 平衡树,平衡二叉树, self-balancing binary search tree 改进的二叉查询树。一般的二叉查找树的查询复杂度是跟目标节点到树根的距离(即深度)有关,因此当节点的深度普遍较大时,查询的均摊复杂度会上升,为了更高效的查询,有了平衡树 平衡二叉树的特点