上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 1. 前言 synchronized在我们的程序中非常的常见,主要是为了解决多个线程抢占同一个资源。那么我们知道synchronized有多种用法,以下从实践出发,题目由简入深,看你能答对几道题目? 2. 问题 调用代码如下 public static void main(String[] args 阅读全文
posted @ 2023-04-14 15:35 程序员博博 阅读(240) 评论(0) 推荐(1) 编辑
摘要: 1.前言 同样另外一个非常有意思的题目,值得我们思考。大概背景是这个样子的。如果有一个事务A进行插入 id > 100, 同时另外一个事务B进行更新update id > 100。那么事务B是否会更新成功。我们来画一个时序图: | time | 事务A | 事务B | 备注 | | :-| :- | 阅读全文
posted @ 2023-04-13 15:21 程序员博博 阅读(622) 评论(0) 推荐(1) 编辑
摘要: 1.前言 一道非常有意思的面试题目。大概是这样子的,如果在一个事务中,开启线程进行插入更新等操作,如果报错了,事务是否会进行回滚 2.代码 示例1 @RequestMapping("/test/publish/submit") public String testPublish1() { log.i 阅读全文
posted @ 2023-04-12 23:26 程序员博博 阅读(431) 评论(3) 推荐(1) 编辑
摘要: buffer pool 增删查改 buffer pool 存储内容: 包括数据页,索引,自适应索引,字典信息等 buffer pool 查找: 如上图,如果是读操作,要查找的数据所在的数据页在缓冲池中时,则将结果返回。 否则会把对应的数据页加载到内存中,然后再返回结果。 每一个页,都有一个描述信息。 阅读全文
posted @ 2022-09-23 17:34 程序员博博 阅读(56) 评论(0) 推荐(0) 编辑
摘要: innodb存储引擎中一条sql写入的详细流程 第0步:会先去看缓冲区有没有这条数据,如果有就不进行缓存,直接进入第三步。 第1步:会将要修改的那一行数据所在的一整页加载到缓冲池Buffer Pool中 第2步:将旧值写入undo日志中,便于回滚以及mvcc机制的运作 第3步:将Buffer Poo 阅读全文
posted @ 2022-09-23 17:33 程序员博博 阅读(645) 评论(0) 推荐(0) 编辑
摘要: Mysql一张表可以存储多少数据 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB。(确切的说是InnoDB数据页大小16KB)。详细学习可以参考官网 我们可以用如下命令查询到。 通过上面的 阅读全文
posted @ 2022-09-23 17:32 程序员博博 阅读(3053) 评论(0) 推荐(0) 编辑
摘要: 聚簇索引 我们日常所说的主键索引,其实就是聚簇索引(Clustered Index) 索引键为为主键。如果没有定义主键,InnoDB 会选择一个唯一的非空索引代替。如果没有这样的索引,InnoDB 会隐式定义一个主键来作为聚簇索引。 叶子节点存储:记录的所有列信息,包含整张表的行记录数据。叶子节点包 阅读全文
posted @ 2022-09-23 17:31 程序员博博 阅读(127) 评论(0) 推荐(0) 编辑
摘要: EXPLAIN命令 除了以SELECT开头的查询语句,其余的DELETE、INSERT、REPLACE以及UPDATE语句前边都可以加上EXPLAIN这个词儿,用来查看这些语句的执行计划 Type列 这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,以下是集中查询的访问方法。查找数据行 阅读全文
posted @ 2022-09-23 17:30 程序员博博 阅读(51) 评论(0) 推荐(0) 编辑
摘要: bin log binlog 是 MySQL Server 层的日志,而不是存储引擎自带的日志,它记录了所有的 DDL 和 DML(不包含数据查询语句)语句,而且是以事件形式记录,还包含语句所执行的消耗的时间等,需要注意的是: binlog 是一种逻辑日志,他里边所记录的是一条 SQL 语句的原始逻 阅读全文
posted @ 2022-09-23 17:28 程序员博博 阅读(114) 评论(0) 推荐(0) 编辑
摘要: mysql支持两种复制: 1:一种为语句复制。 好处是:简单,不会占用很多宽带和IO。 坏处是:同一条SQL主从执行的时间不同。或者一些时间戳,存储过程,触发器可能都会有问题。更新必须是串行,对锁的竞争比较大 2:一种为行的复制。(MySQL5.1开始支持) 好处是:正确的复制每一行,记录的都是主库 阅读全文
posted @ 2022-09-23 17:24 程序员博博 阅读(50) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页