MySQL基础知识
MySQL 基础学习笔记本文系统梳理MySQL基础知识点,涵盖SQL语言分类(DDL、DML、DQL、DCL、TCL)、数据类型(数值、字符串、日期时间)、表结构操作(创建、修改、删除)、数据增删改查及约束、函数、多表查询、子查询与事务控制。
数据不能只活在内存里
前两天我把Java 8 方法引用和 Optional 那篇写完,发完之后躺在床上刷手机,脑子里还在转那篇文章的代码。转着转着突然反应过来一个事儿,前面两篇文章里用的所有数据,全是我自己在代码里写死的。List.
死锁看不懂?一文讲透 InnoDB 行锁、间隙锁、临键锁、插入意向锁
本文系统梳理 InnoDB 的四种核心锁机制——记录锁(Record Lock)、间隙锁(Gap Lock)、临键锁(Next-Key Lock)、插入意向锁(Insert Intention Lock),从定义、兼容性到 RR/RC 隔离级别下的实际表现,配合死锁案例与排查方法
订单接口P99从80ms飙到3秒,查了半天才发现是自增锁
大家好,我是小耶,写功课只是为了我踩过的坑,你们别再踩了!有一次线上告警:订单创建接口的P99从80ms飙升到3秒。第一反应是锁等待。查sys.innodb_lock_waits,没有行锁冲突。查慢查询日志,发现慢的都是INSERT语句。查磁盘I/O,正常。查网络,正常。
MySQL实践系列:一次 INSERT 引发的死锁,背后有把你没搞清楚的锁
大家好,你是否有遇到过这种情况,你只是往数据库中的数据表插入一条数据,然后数据表就死锁,顿时就接了一个”锅“。一次让人摸不着头脑的死锁在我的工作经历中,看到过很多死锁排查的案例,但其实有一种最让人崩溃。比如有两个事务,操作的明明是不同的行,甚至是不同的数据,结果死锁了。
临近年末事务多,属狗朋友多留一份心,提前备好应对方案
深秋悄然而至,距离全年收尾只剩两个多月。很多人早早列好清单,打算稳稳走完剩下这段日子。不少属狗的朋友在近期交流里提到,这段时间容易接到意料之外的通知。这些消息不一定代表坏结果,却常常打破原本平稳的节奏,需要投入大量时间和精力去协调处理。
MDL 元数据锁:DDL 执行为什么会让整张表的读写全部 hang 住
大家好,前面介绍了 MySQL 锁的一系列文章,从 InnoDB 行级锁“Next-Key → 意向锁 → 插入意向锁 → 自增锁 到今天要介绍的 Server 层(MD锁),整个形成了一套完整的 MySQL 锁知识体系。
C# 用事件溯源实现订单审计:每一步操作都留痕
订单出纠纷时,客服打开后台只看到“已发货”三个字:谁改的、什么时候改的、改之前是什么,一概查不到。靠加几个 UpdatedBy 字段补不上这个洞。事件溯源(Event Sourcing)换了个思路——不存最终状态,存“发生过什么”。