深入理解Mysql索引底层数据结构与算法
2025-08-29 09:37:12 0 举报
AI智能生成
本文件包含了关于MySQL索引底层数据结构与算法的核心内容。其中,详细探讨了B+树、哈希索引和全文索引的原理与特性,以及它们在数据库性能优化中的应用。特别地,文件涵盖了索引的创建、维护和操作细节,提供了如何选择合适的索引类型以及优化查询语句的实用建议。此外,还涉及了索引的存储细节、索引的代价与选择的影响因素,并辅以实例进行说明。此文件是数据库管理员和开发者的宝贵资源,旨在提升他们对MySQL索引机制的深入理解和应用能力,以期达到提高数据库整体性能的目的。
作者其他创作
大纲/内容
索引的本质
索引是高效获取数据排好序的数据结构
二叉树
如果是自增长的数据和正常查询一样多时间
红黑树
他也是二叉树的一种 平衡树
但是树的高度会很高
但是树的高度会很高
hash表
B-tree
一个节点横向可以放很多索引元素,树的高度会变低
b+teee
是B-tree的变种,每个叶子节点都有个指针(双向只能可以快速定位相邻节点支持范围查找),每个叶子节点存16K ,可以存1170个字节
他和b-tree的区别是非叶子节点不存数据,可以存个更多的元素,树的高度会更低
innoDB索引实现聚集
创建索引最好数字类型 因为占用的空间小 比大小快
创建索引最好是自增的,因为这样会按顺序i插入节点效果高,非有可能 正在经插入的节点中间插入一条数据 导致分裂,分裂完还要做一次平衡
非主键索引
联合索引,按照最左前缀规则,exeplain select 查询计划
阿里面试:因为是排好序的 就是从左有排序的,如果按第二个字段就不是排好序。会变成全表扫描
阿里面试:因为是排好序的 就是从左有排序的,如果按第二个字段就不是排好序。会变成全表扫描
0 条评论
下一页