原文:InnoDB学习(一)之BufferPool

我们知道InnoDB数据库的数据是持久化在磁盘上的,而磁盘的IO速度很慢,如果每次数据库访问都直接访问磁盘,显然严重影响数据库的性能。为了提升数据库的访问性能,InnoDB为数据库的数据增加了内存缓存区 BufferPool ,避免每次访问数据库都进行磁盘IO。 缓存区BufferPool 缓存区并不是Innodb中特有的概念,操作系统中也有缓存区的概念,当用户第一次从磁盘读取文件时,会把文件缓存 ...

2021-12-07 10:54 0 762 推荐指数:

查看详情

InnoDB学习(二)之ChangeBuffer

ChangeBuffer是InnoDB缓存区的一种特殊的数据结构,当用户执行SQL对非唯一索引进行更改时,如果索引对应的数据页不在缓存中时,InnoDB不会直接加载磁盘数据到缓存数据页中,而是缓存对这些更改操作。这些更改操作可能由插入、更新或删除操作(DML)触发。缓存区的更改操作会在磁盘数据 ...

Thu Dec 09 00:36:00 CST 2021 0 146
InnoDB学习(四)之RedoLog和UndoLog

BinLog是MySQL Server层的日志,所有的MySQL存储引擎都支持BinLog。BinLog可以支持主从复制和数据恢复,但是对事务的ACID特性支持比较差。InnoDB存储引擎引入RedoLog和UndoLog事务日志,用于提升事务场景下的数据库性能。本文会对RedoLog ...

Wed Dec 15 02:10:00 CST 2021 0 801
InnoDB学习(三)之BinLog

BinLog又称为二进制日志,是MySQL服务层的数据日志,MySQL所有的存储引擎都支持BinLog。BinLog记录了MySQL中的数据更新和可能导致数据更新的事件,可以用于主从复制或数据恢复。本 ...

Fri Dec 10 01:54:00 CST 2021 0 270
Innodb行锁源码学习(一)

Innodb是mysql数据库中目前最流行的存储引擎,innodb相对其它存储引擎一个很大的特点是支持事务,并且支持行粒度的锁。今天我重点跟大家分享下innodb行锁实现的基础知识。由于篇幅比较大,文章会按如下的目录结构展开。 {  innodb锁结构  锁机制关键流程 ...

Wed Jan 28 22:00:00 CST 2015 2 3905
MySQL InnoDB Online DDL学习

MySQL Online DDL这个新特性是在MySQL5.6.7开始支持的,更早期版本的MySQL进行DDL对于DBA来说是非常痛苦的。现在主流版本都集中在5.6与5.7,为了更好的理解Online ...

Fri Feb 15 18:09:00 CST 2019 2 1457
小白学习mysql 之 innodb locks

##Innodb 锁类型: Shared and Exclusive Locks Intention Locks Record Locks Gap Locks Next-Key Locks Insert Intention Locks AUTO-INC ...

Thu Dec 14 22:35:00 CST 2017 0 1500
【mysql学习InnoDB数据结构

原来知道有一些索引失效的条件,最近看了看mysql底层数据结构,明白了为什么会失效 ,记录之。众所周知,常用的mysql数据引擎有两种,今天全是以InnoDB为基础开启探索之旅的,另一种有时间再说吧。 数据页与数据行 我们都知道,数据库数据是存在磁盘中的,不过真正处理数据是在内存中进 ...

Wed May 29 05:09:00 CST 2019 0 618
MySQL之InnoDB索引面试学习笔记

写在前面   想要做好后台开发,终究是绕不过索引这一关的。先问自己一个问题,InnoDB为什么选择B+树作为默认索引结构。本文主要参考MySQL索引背后的数据结构及算法原理和剖析Mysql的InnoDB索引。 索引   当数据量到达一定规模时,我们通常会对经常使用的字段建立索引,来加快 ...

Fri Apr 26 07:56:00 CST 2019 0 475
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM