摘要:
前言 简单介绍一下页存储的关系。 正文 在前文中,我们已经知道了页存储的内怎么去查询的数据的,也就两点。 记录根据主键(索引)按照顺序链式存储 有一个page directory,里面有槽,可以快速定位到槽,然后就可以从链式存储的某个点进行分组查询 理论上这样在一页内查询还是非常ok的。 那么有一个 阅读全文
摘要:
前言 前文我们已经明白了行数据,如何在页存储中分布的行是怎么存储的。 正文 那么页结构又是怎么样的呢? 这里我们唯一知道的就是user records 就是实际存储的行记录内容。 这里让我觉得有意思的是infimum 和 suprenum,分别是最小记录和最大记录,这两个是用来做什么呢? 我估计是用 阅读全文
摘要:
前言 简单概括一下mysql的分布 正文 在查看mysql的存储分布的时候,我们知道有很多存储引擎,这里仅说明是innoDB。 InnoDB 采取的方式是:将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB 也就是在一般情况下,一次最少从磁盘中读取1 阅读全文
摘要:
前言 简单介绍一下mysql的字符集 正文 字符和二进制到底什么关系: 'a' -> 00000001 (十六进制:0x01) 'b' -> 00000010 (十六进制:0x02) 'A' -> 00000011 (十六进制:0x03) 'B' -> 00000100 (十六进制:0x04) 其实 阅读全文
摘要:
前言 简单介绍一下mysql的系统变量 正文 当我们之间查看mysql的系统变量的时候呢? 我们使用show variables,这样我们就可以查看到系统变量。 但是这样显然是没有意义的。 可以看到很多很多的系统变量,如果想查具体的,那么就是: SHOW VARIABLES LIKE 'defaul 阅读全文
摘要:
前言 简单说明一下运行时序列化 正文 本来要说明一下,二进制序列化的,但是已经废弃了,所以吧,就不写了,还是发布下。 阅读全文
摘要:
前言 简单介绍一下,值转换器和值比较器。 正文 为什么有值转换器这东西呢? 那就是这个东西一直必须存在。 比如说,我们的c# enum 对应数据库的什么呢? 是int还是string呢? 一般情况下,我们没有去写enum,保存数据库里面了一个int对吧。 那么到底谁干了这件事呢? 显然ef 是有默认 阅读全文
摘要:
前言 当年写的比较差:https://www.cnblogs.com/aoximin/p/12965408.html,所以特来重新写一遍。 正文 首先为什么会出现is 和 as 呢? 因为是为了有需要检验的地方,如果直接使用显示转换的话,那么可能直接报错了。 namespace ConsoleApp 阅读全文
摘要:
前言 首先什么是io复用呢? 现在web框架没有不用到io复用的,这点是肯定的,不然并发真的很差。 那么io复用,复用的是什么呢?复用的真的不是io管道啥的,也不是io连接啥的,复用的是io线程。 这其实是操作系统的设计上的io并发不足的地方,然后自己给慢慢填了。 正文 听一段历史: 当时操作系统设 阅读全文
摘要:
前言 什么是零拷贝技术? 首先计算机不存在什么真的零拷贝技术,这点是确认的。 零拷贝值得是减少多余的拷贝的意思。 正文 首先如果我们要传输文件是怎么处理的呢? 当需要从磁盘读取数据到内存时,CPU会发出指令通知硬盘控制器进行读取操作。 此后,CPU可以执行其他任务,而不需要持续参与数据的读取 阅读全文