![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL技术内幕-InnoDB存储引擎
钢铁-程序猿
这个作者很懒,什么都没留下…
展开
-
MySQL中的Redo log Undo log讲解
阅读目录(Content)1 undo1.1 undo是啥1.2 undo参数1.3 undo空间管理2 redo2.1 redo是啥2.2 redo 参数2.3 redo 空间管理3 undo及redo如何记录事务3.1 Undo + Redo事务的简化过程3.2 IO影响3.3 恢复 在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。转载 2020-06-11 10:55:36 · 469 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第七章、事务
文章目录事务一、认识事务(要么所有修改,要么都不保存)1、概述原子性(事务中的操作要么全部成功,要么全部失败)一致性(事务将数据库从一种状态转变为下一种一致的状态)隔离性(要求每个读写事务的对象对其他事务的操作能相互隔离)持久性(事务一旦提交,结果就是永久性的)2、分类扁平事务(最简单、使用最频繁)二、事务的实现(原子性、一致性、持久性通过数据库的redo log、undo log来完成)1、redo基本概念binlog(二进制日志)2、log block3、log group(由多个重做日志文件组成)4、原创 2020-06-08 22:57:22 · 340 阅读 · 0 评论 -
史上最全MySQL加锁分析
引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select * from table where id = ?select * from table where id < ?select * from table where id = ? lock in share modeselect * from table where id < ? lock in share modeselect * from table where id = ? for updateselect转载 2020-06-06 22:04:25 · 220 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第六章、锁
文章目录锁1、什么是锁?2、lock和latchlatch(mutex互斥锁、rwlock读写锁)lock3、InnoDB存储引擎中的锁1、锁的类型锁最大程度利用并发确保每个用户能一致的读和修改数据1、什么是锁?锁用于管理对共享资源的并发访问。InnoDB支持行锁InnoDB其他多个地方也使用了锁,比如操作LRU列表,删除、添加、移动LRU列表中的元素。数据库使用锁就是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。不同数据库的锁的实现可能完全不同。MyISAM锁锁表锁,并发原创 2020-06-05 22:43:16 · 305 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第五章、索引与算法
文章目录索引与算法一、InnoDB存储引擎索引概述二、数据结构与算法1、二分查找法(找到页之后,具体哪条记录是通过二分查找得到的)2、二叉查找树和平衡二叉树三、B+树1、B+树的插入操作(可能需要拆页)2、B+树的删除操作(填充因子最小50%)四、B+树索引1、聚集索引(每个表只有一个)2、辅助索引索引与算法索引太多,应用程序的性能可能会受到影响,索引太少,对查询性能可能又会产生影响。如果知道数据的使用,从一开始就应该添加索引。如何后期添加索引,需要监控大量的SQL语句进而从中找到问题,这个步骤所需的原创 2020-05-30 20:51:43 · 427 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第四章、表
文章目录表一、索引组织表二、InnoDB逻辑存储结构1、表空间(共享表空间ibdata1,如果一张表放在一个单独表空间,则放数据、索引和插入缓冲页)2、段(数据段为叶子节点,索引段为非叶子节点)3、区(由连续页组成,1个区1MB)4、页(InnoDB磁盘管理的最小单位)三、InnoDB行记录格式表一、索引组织表在InnoDB存储引擎中,表都是根据主键组织存放的,这种存储方式的表称为索引组织表。在InnoDB存储引擎中,每个表都有主键,如果在创建表的时候没有显示创建主键,则InnoDB存储引擎会按如下原创 2020-05-27 20:25:58 · 355 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第三章、文件
文章目录文件一、参数文件1、什么是参数(键值对)2、参数类型二、日志文件1、错误日志2、慢查询日志逻辑读取和物理读取3、查询日志(记录了对数据库请求的信息)4、二进制日志(记录对数据库更改的所有操作,即使update等语句没发生修改,也记录)三、套接字文件四、pid文件(存放进程ID)五、表结构定义文件(.frm文件)六、InnoDB存储引擎文件1、2、重做日志文件(先写入重做日志缓存,再写入日志文件)文件一、参数文件当MySQL启动的时候,需要加载一个配置文件,这些配置文件通常定义了某些内存结构有多原创 2020-05-27 15:46:40 · 196 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第二章、InnoDB存储引擎
文章目录InnoDB存储引擎一、InnoDB存储引擎概述二、InnoDB存储引擎的版本三、InnoDB体系架构1、后台线程Master Thread(主要负责将缓存池数据刷新到磁盘)IO Thread(主要负责写IO请求的回调处理)InnoDB存储引擎InnoDB是事务安全的MySQL存储引擎,通常来说,它是OLTP(Online Transactional Processing,联机事务处理)应用中核心表的首选存储引擎。一、InnoDB存储引擎概述从MySQL5.5版本开始,InnoDB开始是默认原创 2020-05-17 18:52:26 · 593 阅读 · 0 评论 -
MySQL技术内幕-InnoDB存储引擎-第一章、MySQL体系结构和存储引擎
文章目录第一章、MySQL体系结构和存储引擎一、定义数据库和实例二、MySQL体系结构三、MySQL存储引擎1、InnoDB存储引擎2、MyISAM存储引擎3、NDB存储引擎四、各存储引擎之间的比较比较不同引擎下表的大小五、连接数据库1、TCP/IP远程连接阿里云服务器的问题2、命名管道和共享内存3、UNIX套接字第一章、MySQL体系结构和存储引擎一、定义数据库和实例两个容易混淆的词,“数据库”和“实例”数据库物理操作系统或其他形式文件类型的集合。数据库文件可以是frm、MYD、MYDI、原创 2020-05-17 14:18:31 · 309 阅读 · 0 评论