MySQL--索引
MySQL--索引
索引概述
索引是帮助MySQL高效获取数据的数据结构(有序)
演示
使用全表扫描性能极低
使用二叉搜索树更高效
优缺点
索引结构
- B+Tree索引
- Hash索引
- R-Tree(空间索引)
- Full-text(全文索引)
存储引擎支持情况
平常所说的索引都是指的B+树索引
二叉树
B-Tree(多路平衡查找树)
n个key就有n+1个指针
演示过程
B+树
所有元素都会出现在叶子结点
所有叶子结点通过单向链表相连
演示过程
Mysql当中的B+树
Hash索引
Hash索引特点
思考题
为什么InnoDB存储引擎选择使用B+tree索引结构?
-
相对于二叉树,层级更少,搜索效率高.
-
对于B-tree,无论是叶子节点还是非叶子节点都会保存数据,这样导致一页中存储的键值减少,指针跟着减少,要同样保存大量数据,只能增加树的高度,导致性能降低.
-
相对Hash索引,B+Tree支持范围匹配及排序操作.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?