每一缕柳絮都有无限的可能性 Posted on 2025-04-20 In 杂谈 前言独自一人走在中关村公园听着孟岩老师的播客【无人知晓】,迎面飘来一缕缕柳絮,耳机里传来孟岩老师让人安宁的声音“鱼不存在,天空下着钻石雨,每一朵蒲公英都充满无限可能…”。 Read more »
【MySQL实战45讲2】日志系统:一条SQL更新语句是如何执行的 Posted on 2025-01-06 Edited on 2025-04-20 In 学习 前言在数据库中,查询语句的执行流程通常包括连接器、分析器、优化器、执行器等模块,最终到达存储引擎。然而,当我们谈论更新语句的执行流程时,情况会有所不同。更新操作不仅涉及数据的读取,还包括数据的修改和写入,这一过程更为复杂。本文将探讨更新语句的执行流程,并揭示MySQL实现数据恢复的奥秘。通过了解这些底层原理,我们不仅能更好地理解数据库的工作机制,还能在实际应用中更加得心应手。 Read more »
【Java并发编程的艺术3】Java内存模型(下) Posted on 2024-11-25 In 学习 前言这篇文章主要介绍一下3个同步原语(synchronized、volatile和final)的内存语义 Read more »
【MySQL实战45讲10】MySQL为什么有时候会选错索引 Posted on 2024-11-24 Edited on 2025-04-20 In 学习 前言我们在写SQL语句的时候,并没有指定选择哪个索引,也就是说,使用哪个索引是MySQL来确定的。 Read more »
【MySQL实战45讲9】普通索引和唯一索引怎么选择 Posted on 2024-10-24 Edited on 2025-04-20 In 学习 前言今天的话题是,在不同的业务场景下,应该选择普通索引,还是唯一索引 Read more »
【Java并发编程的艺术3】Java内存模型(中) Posted on 2024-10-20 Edited on 2024-11-03 In 学习 前言这篇文章主要介绍重排序与顺序一致性内存模型 Read more »
【MySQL实战45讲8】事务到底是隔离还是不隔离 Posted on 2024-10-15 Edited on 2024-11-03 In 学习 前言如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样。 但当一个事务要更新一行的时候,如果刚好有另外一个事务拥有这一行的行锁,这个事务会被锁住,进入等待状态。问题是,既然进入了等待状态,那么等到这个事务自己获取到行锁要更新数据的时候,它读到的值又是什么呢? Read more »
【MySQL实战45讲7】行锁功过 Posted on 2024-10-06 Edited on 2024-11-03 In 学习 前言主要来聊聊 InnoDB 的行锁,以及如何通过减少锁冲突来提升业务并发度。 Read more »
【Java并发编程的艺术3】Java内存模型(上) Posted on 2024-10-05 Edited on 2024-11-03 In 学习 前言这篇文章主要介绍内存模型的基本概念 Read more »