当前位置:网站首页>Mysql——》Innodb存储引擎的索引
Mysql——》Innodb存储引擎的索引
2022-07-01 21:45:00 【小仙。】
推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Spring】
总结——》【SpringBoot】
Mysql——》Innodb存储引擎的索引
一、文件
frm:表结构文件
ibd:数据即索引
Q:为什么说在 InnoDB 中索引即数据,数据即索引?
A:在 InnoDB 里面,它是以主键为索引来组织数据的存储的,所以索引文件和数据文件是同一个文
件,都在.ibd 文件里面。 在 InnoDB 的主键索引的叶子节点上,它直接存储了我们的数据。
Q:一张 InnoDB 的表可能有很多个多索引,数据肯定是只有一份的,那数据在哪个索引的叶子节点上呢?
A:存在聚集索引/聚簇索引上
二、聚集索引/聚簇索引/主键索引
如果一张表同时有主键索引和其它索引:
主键索引:就是聚集索引,决定数据行的物理存储顺序,叶子节点存储数据
其他索引:就是二级索引/辅助索引,叶子节点存储主键的值
定义:索引键值的逻辑顺序跟表数据行的物理存储顺序是一致的。
示例:字典的目录是按拼音排序的,内容也是按拼音排序的,按拼音排序的这种目录就叫聚集索引。
三、二级索引/辅助索引
当 我 们 用 name 索 引 查 询 一 条 记 录 , 它 会 在 二 级 索 引 的 叶 子 节 点 找 到name=bobo, 拿到主键值id=1,然后再到主键索引的叶子节点拿到数据。
从这个角度来说,因为主键索引比二级索引少扫描了一棵 B+Tree,它的速度相对会快一些。

四、如果表中没有主键或者没有索引,数据存储在哪里?
1、如果我们定义了主键(PRIMARY KEY),那么 InnoDB 会选择主键作为聚集索引。
2、如果没有显式定义主键,则 InnoDB 会选择第一个不包含有 NULL 值的唯一索引作为主键索
引。
3、如果也没有这样的唯一索引,则 InnoDB 会选择内置 6 字节长的 ROWID 作为隐藏的聚集索引,
它会随着行记录的写入而主键递增。
边栏推荐
- What is the difference between consonants and Initials? (difference between initials and consonants)
- locust 系列入门
- Interview question: what is the difference between MySQL's Union all and union, and how many join methods MySQL has (Alibaba interview question) [easy to understand]
- 物联网rfid等
- Unity 使用Sqlite
- 13th Blue Bridge Cup group B national tournament
- “丝路正青春 风采看福建”在闽外籍青年短视频大赛火热征集作品中
- List announced | outstanding intellectual property service team in China in 2021
- QT 使用FFmpeg4将argb的Qimage转换成YUV422P
- 三翼鸟两周年:羽翼渐丰,腾飞指日可待
猜你喜欢

Redis配置与优化

News classification based on LSTM model

Little p weekly Vol.11

mysql 学习笔记-优化之SQL优化

黑马程序员-软件测试--06阶段2-linux和数据库-01-08第一章-linux操作系统阶段内容说明,linux命令基本格式以及常见形式的说明,操作系统的常见的分类,查看命令帮助信息方法,

业务可视化-让你的流程图'Run'起来

Why does blocprovider feel similar to provider?

Flume interview questions

按照功能对Boost库进行分类

函数基本学习之一
随机推荐
ICML2022 | 基于元语义正则化的介入性对比学习
js数组拼接的四种方法[通俗易懂]
【生态伙伴】鲲鹏系统工程师培训
CNN卷积神经网络原理讲解+图片识别应用(附源码)[通俗易懂]
辅音和声母的区别?(声母与辅音的区别)
Microsoft, Columbia University | Godel: large scale pre training of goal oriented dialogue
Unity 使用Sqlite
Little p weekly Vol.11
Communication between browser tab pages
Smart micro mm32 multi-channel adc-dma configuration
One of the basic learning of function
工控设备安全加密的意义和措施
选择在同花顺上炒股开户可以吗?安全吗?
Flume interview questions
A debugging to understand the slot mechanism of redis cluster
[STM32] stm32cubemx tutorial II - basic use (new projects light up LED lights)
PyTorch磨刀篇|argmax和argmin函数
Classify boost libraries by function
信标委云原生专题组组长,任重道远!
基于三维GIS的不动产管理应用