摘要: // 每个链表节点使用一个 ListNode 结构来表示typedef struct ListNode{ //前置节点 struct ListNode *prev; //后置节点 struct ListNode *next; //节点值 void *value; } ListNode; // typ 阅读全文
posted @ 2020-04-26 13:52 傑0327 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 2.1 SDS的定义 struct { //buf中已使用的字节数,等于SDS所保存字符串的长度 int len; //buf中未使用的字节长度 int free; //字节数组,用于保存字符串 char[] buf; } 2.2 SDS与C字符串的区别 C字符串 SDS 获取字符串长度的复杂度为 阅读全文
posted @ 2020-04-26 13:39 傑0327 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 大多数情况是正常的,只是偶尔会出现很慢的情况 网络问题 数据库在刷新脏页 获取锁失败,我们可以用 show processlist这个命令来查看当前的状态 刷脏页有下面4种场景(后两种不用太关注“性能”问题): redolog写满了:redo log 里的容量是有限的,如果数据库一直很忙,更新又很频 阅读全文
posted @ 2020-04-19 15:10 傑0327 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 7.2 事务的实现 原子性、一致性、持久性通过数据库的redo log和undo log 来完成,redo log 称为重做日志,用来保证事务的原子性和持久性。undo log 用来保证事务的一致性。 redo log 和undo log 的作用可以视为是一种恢复操作,redo 恢复提交事务修改的页 阅读全文
posted @ 2020-04-19 14:42 傑0327 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 开发多用户、数据库驱动的应用时,最大的难点是:一方面要最大程度的利用数据库的并发访问,一方面还要确保每个用户能以一致的方式读取和修改数据,为此有了锁的机制。 6.1 什么是锁 锁机制用于管理对共享资源的并发访问。InnoDB除了会在行级别上对表数据上锁,也会在数据库内部其他多个地方上锁,从而允许对多 阅读全文
posted @ 2020-04-18 16:01 傑0327 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 5.3 B+ 树 B+ 树是为磁盘或其他直接存储辅助设备设计的一种平衡查找树。在B+树中,所有记录都是按照键值大小顺序存放在同一层的叶子节点上,由叶子节点指针进行连接,双向链表连接。 5.3.1 B+ 树的插入操作 考虑一下三种情况: Leaf Page满 Index Page 满 操作 No No 阅读全文
posted @ 2020-04-17 11:59 傑0327 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 本章将重点分析表的物理存储特征,即数据在表中是如何组织存放的。也就是说,表就是关于特定实体的数据集合,这也是关系型数据库模型的核心。 4.1 索引组织表 在 InnoDB存储引擎中,表都是按照主键顺序存放的,这样的存储方式的表称为索引组织表。如果创建表时没有显式的定义主键,则按照如下方式选择或创建主 阅读全文
posted @ 2020-04-14 08:09 傑0327 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 3.5 表结构定义文件 MySQL 都有一个以frm为后缀的文件,该文件记录了该表的表结构定义。 frm还用来存放视图的定义,如用户创建了一个v_a 视图,那么对应会产生一个v_a.frm 文件,用来记录视图的定义。该文件是文本文件,可用cat查看。 3.6 InnoDB存储引擎文件 InnoDB文 阅读全文
posted @ 2020-04-14 07:59 傑0327 阅读(340) 评论(0) 推荐(1) 编辑
摘要: 2.1 InnoDB存储引擎概述 InnoDB存储引擎是第一个完整支持ACID事务的MySQL存储引擎,其特点是行锁设计、支持MVCC、支持外键、提供一致性非锁定读,同时被设计用来最有效的利用内存和CPU。 2.2 InnoDB存储引擎版本 从MySQL5.1 版本时,MySQL数据库允许存储引擎开 阅读全文
posted @ 2020-04-13 15:53 傑0327 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL体系结构和存储引擎 尽管各个平台在底层(如线程)实现方面都各不相同,但MySQL基本上能保证在各个平台上的物理结构的一致性。因此,用户应该能很好的理解MySQL数据库在所有这些平台是如何运作的。 1.1 定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合。在MySQL数 阅读全文
posted @ 2020-04-08 15:06 傑0327 阅读(314) 评论(0) 推荐(0) 编辑