一条跟新语句的执行过程

MYSQL执行过程1

1.由于数据都是以文件是格式存放到磁盘上,所以要操作数据就要先把数据加载到内存上,这里就产生了一次读多书的问题默认读取16kb(可以改 ,page页是逻辑单位) 

2.由于把数据先加载到内存(bufferpool默认128M)中,当更改了内存中的数据,数据库中的数据没有及时跟新这种数据被称为(脏页),

然而内存和数据库的中间会有后台线程一直不停的同步数据这动作称做(刷脏flush)

下面SQL是查看脏页数量等等信息的:

MYSQL执行过程1

3.INNODB在设计时考虑到断电或者别的意外所以在磁盘上有一个叫Rdeo Log(逻辑日志大小48M固定) 的日志 bufferpool中的数据会先写进Redo Log 在写进磁盘这里(直接写进磁盘是随机IO,先写进Redo Log 是顺序IO)

4.Undo Log 也是一种日志,但它负责的是事务的回滚(原子性)

5.Server 层的binlog 逻辑日志 负责记录语句记录

MYSQL执行过程1

 

相关文章:

  • 2021-12-03
  • 2021-03-31
  • 2021-05-19
  • 2021-11-12
  • 2021-09-18
  • 2021-07-12
  • 2021-06-16
  • 2021-12-12
猜你喜欢
  • 2021-09-05
  • 2021-12-10
  • 2021-07-17
  • 2021-06-03
  • 2021-11-28
  • 2022-02-11
  • 2022-12-23
相关资源
相似解决方案