自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 用一次数据更新流程初步了解InnoDB的架构设计

1)innodb_flush_log_at_trx_commit=0,事务提交的时候,不会把redo log buffer刷入到磁盘文件,此时即时提交事务,但是MySQL宕了,内存里的数据还是会丢失。存储引擎要执行更新语句的时候,比如对“id=10”这一行数据,它会先看“id=10”这行数据是否在缓冲池里,如果不在,会直接从磁盘加载到缓冲池里,而且还会对这行数据加独占锁。如果内存中的数据被修改了,但是磁盘上的数据还没被修改,那么此时MySQL服务器宕机了,必然会导致内存里的数据丢失,这时候该怎么办?

2023-05-16 13:57:10 142

原创 MySQL的架构设计

网络连接必须得分配给一个线程去处理,由一个线程来监听请求以及读取请求数据,比如从网络连接中读取和解析出来一条系统发过来的SQL语句。解析器(parser)负责对SQL语句进行解析,就是按照既定的SQL语法对SQL语句进行解析。执行器,会根据优化器选择的方案,去调用存储引擎的接口按照一定的顺序和步骤执行SQL语句。SQL接口(SQL Interface),是一套执行SQL语句的接口。这一步,是优化器把最优的执行计划交给存储引擎来执行。5、调用存储引擎接口,真正执行SQL语句。

2023-05-16 13:41:04 133 1

原创 系统是如何跟MySQL打交道的?

那么如果tomcat中的每个线程在每次访问数据库的时候,都基于MySQL驱动去创建一个数据库连接,执行完sql语句之后再销毁这个数据库连接,行不行呢?所以,一般我们必须要使用一个数据库连接池,也就是说在一个池子里维持多个数据库连接,让多个线程使用里面的不同的数据库连接去执行SQL语句,执行完SQL语句后,不会销毁这些连接,而是放回到连接池,后续还可以继续使用。这个时候,如果tomcat中的多个线程并发处理多个请求的时候,都要去抢夺一个连接去访问数据库的话,那效率肯定是很低的。2、数据库连接池是干什么的?

2023-05-12 10:16:44 71

原创 pt-table-checksum使用总结

1、pt-table-checksum概述 pt-table-checksum是Percona-Toolkit工具集中的一个组件,是一个检查主从复制一致性的工具,通过在主库上执行检查语句可以在线检查MySQL主从数据的一致性。它通过指定选项连接指定服务器实例,可以通过指定条件过滤库级别或表级别,每次检查一张表,所以不需要大量的内存和多余操作。即使是非常大的表也可以运行良好,这主要是因为pt-table-checksum可以将表划分为多个chunk,根据checksum query运行的时间来调整c..

2021-08-03 14:57:35 1587

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除