前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL索引

MySQL索引

作者头像
宇宙之一粟
发布2022-05-13 14:40:32
2.8K0
发布2022-05-13 14:40:32
举报
文章被收录于专栏:宇宙之_一粟宇宙之_一粟

索引是帮助MySQL高效获取数据的排好序的数据结构

索引数据结构:

  • 二叉树
  • 红黑树
  • 哈希
  • B-Tree

二叉树容易退化成链表

红黑树层数太高

哈希不满足范围查找

B-Tree

  • 叶节点具有相同的深度,叶节点的指点为空
  • 所有索引元素不重复
  • 节点中的数据索引从左到右递增排列

B+ Tree(B-Tree变种)

  • 非叶子节点不存储data,只存储索引(冗余),

可以放更多的索引

  • 叶子节点包含所有索引字段
  • 叶子节点用指针连接,提高区间访问的性能

InnoDB 索引实现(聚集)

  • 表数据文件本身就是按B+ Tree组织的一个索引结构文件
  • 聚集索引-叶节点包含了完整的数据记录

为什么InnoDB表必须有主键,并且推荐使用整型的自增主键? (不推荐使用UUID作为主键,尽量用自增整型)

为什么非主键索引结构叶子节点存储的是主键值?(一致性和节省存储空间)

联合索引的底层存储结构长什么样?

最左前缀法则

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • InnoDB 索引实现(聚集)
  • 联合索引的底层存储结构长什么样?
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档