mysql
文章平均质量分 89
猪猪侠blogs
这个作者很懒,什么都没留下…
展开
-
EXPLAIN 语句输出的各个列解释
# EXPLAIN 语句输出的各个列解释 列名 描述 id 在一个大的查询语句中每个 SELECT 关键字都对应一个唯一的 id select_type SELECT 关键字对应的那个查询的类型 table 表名 partitions 匹配的分区信息 type 针对单表的访问方法 possible_keys 可能用到的索引 key 实际上使用的索引 key_len 实际使用到的索引长度 ref 当使用索引列等值查询时,与索引列进行等值匹配的对象信息 rows 预估的需要读取的记录条数 filtered 某个原创 2022-02-27 23:45:56 · 458 阅读 · 0 评论 -
字符集和比较规则
# 字符集简介 作用:为了让数据在人和计算机都能被”看的懂“。 我们知道在计算机中只能存储二进制数据,那该怎么存储字符串呢?当然是建立字符与二进制数据的映射关系了,建立这个关系最起码要搞清楚两件事儿: 你要把哪些字符映射成二进制数据?也就是界定清楚字符范围。 怎么映射?将一个字符映射成一个二进制数据的过程也叫做 编码 ,将一个二进制数据映射到一个字符的过程叫做 解码 。人们抽象出一个 字符集 的概念来描述某个字符范围的编码规则。比方说我们来自定义一个名称为 xiaohaizi 的字符集,它包含的字符.原创 2022-02-15 23:49:39 · 349 阅读 · 1 评论 -
B+树索引的由来
从前面讲的InnoDB数据页结构,特别是页目录,我们可以了解到,记录在页里面是以单链表的形式存在,而页与页之间构成了双向链表。 那么我们应该采取什么样的方式来更高效查询数据呢? # 1.我们先来假设不了解什么是索引,我们会怎么查找? 比如根据主键条件搜索,可以再页目录中用二分查找查到属于那条记录 如果是非主键列呢,因为在数据页中并没有对非主键列建立所谓的 页目录,可能要一个一个按顺序找,知道找到匹配的记录 # 2.如果在很多页中查找? 大部分情况下我们表中存放的记录都是非常多的,需要好多的数据页来存储这.原创 2022-02-15 01:02:53 · 534 阅读 · 0 评论 -
InnoDB数据页结构
[toc] # 不同类型页 InnoDB存储引擎为了出于不同的存储目的设计多种类型的页,比如 存放表空间头部信息的页,存放 Insert Buffer信息的页,存放 INODE 信息的页,存放 undo 日志信息的页等等等等 其中这次重点介绍:存放数据表中记录的那种类型的页,官方称这种存放记录的页为索引( INDEX )页 # 数据页结构 InnoDB 数据页的存储空间大致被划分成了 7 个部分 名称 中文名 占用空间大小 简单描述 File Header 文件头部 38字节 页的一些通用信息 Page.原创 2022-02-13 19:12:04 · 421 阅读 · 0 评论 -
InnoDB记录结构
存储引擎的作用就是内存和磁盘打交道,负责将数据在他两之间传输,为了提高传输效率,提出了“页”的概念,也就是在一般情况下,为了减少io次数,一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。 页:将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。 # innoDB行格式 行格式:记录在磁盘上的存放方式称为行格式。 四种行格式:Compact 、 Redundant 、Dynamic 和 Compressed 行格式。..原创 2022-02-12 18:14:24 · 548 阅读 · 0 评论