首页
学习
活动
专区
圈层
工具
发布

#mysql

MySQL InnoDB 并发控制核心原理:事务、隔离级别、MVCC 与锁机制

香瓜子rd

本文从 InnoDB 两套读写模型切入,结合官方术语一致性非锁定读(快照读)、一致性锁定读(当前读),逐层解析事务 ACID、四大隔离级别、MVCC 底层原理、...

500

JOIN关联字段字符集不一致——索引失效最隐蔽的场景与排查实战

这个DBA有点耶

索引建了,EXPLAIN也显示走了索引,但查询就是慢——这种情况比“没走索引”更让人崩溃。

3510

MySQL索引为什么必须用B+树?从磁盘IO深度推导

香瓜子rd

InnoDB 默认选用 B+ 树作为索引结构,是 MySQL 适配磁盘存储特性的经典底层设计。多数开发者仅记忆结论,却缺少对硬件约束、数据结构取舍、存储引擎落地...

3700

EXPLAIN的partitions列显示全部分区——分区裁剪失效的6种原因排查

这个DBA有点耶

优化器根据WHERE条件中的分区键,自动排除不包含目标数据的分区,只扫描必要的分区。裁剪生效时,查询只扫一个分区,性能提升几十倍;裁剪失效时,扫描所有分区,比不...

4910

连接池配错了,数据库CPU飙到100%——连接风暴的三种触发场景

这个DBA有点耶

连接池这东西,平时不出问题的时候你根本感觉不到它的存在。一旦出问题——应用连不上数据库了,或者数据库CPU莫名其妙飙到100%——你才会发现,这个小东西的威力有...

10210

单表2亿行的治理复盘:分区归档、冷热分离与三步对账流程

数据库小学妹

去年我接手一个订单库,主表 2 亿行。接手第一周就撞上三件事。查最近一个月的订单,要从 2 亿行里翻,慢。想加个联合索引,DDL 排了两个小时还没跑完。做一次全...

12610

100亿订单号如何去重

Rain的Java大神之路

数据量:100 亿条订单号(假设每条 64 位 = 8 字节,纯数据量≈80GB)

10310

大促第一分钟就超卖:商城下单的库存一致性、防超卖与补偿实战

数字化落地笔记

结论先说:商城一到大促就超卖,根因不在库存数字本身,而在"扣减"这件事没有一个原子动作——多个请求同时改一个字段,谁快谁先写,超卖就成了必然。本文复盘一次连锁零...

6700

物联网平台数据表只涨不缩?Spring Boot 遥测数据保留策略:分批删除 + 索引优化 + 真实压测数据

用户12784615

一台设备每 5 秒上报一次,一天就是 17280 条。100 台设备一天 172 万条,一个月 5000 万条。能收到数据只是第一天,第二天开始真正的难题是:这...

6310

MySQL复制机制深入:半同步复制的两种模式、MGR的Paxos实现与GTID原理

这个DBA有点耶

MySQL的主从复制是最常用的高可用方案,但默认的异步复制有一个硬伤:主库写完即返回成功,binlog还没传到从库时主库宕机,这部分数据就丢了。

11410

顾客储值卡余额和后台流水对不上:余额扣减的幂等、流水对账与补偿实践

数字化落地笔记

结论先说:储值卡余额对不上,九成不是算错账,而是把"余额"当成一个可随意改的字段在写——并发扣减、重复提交、跨日结转都会把余额和流水拆成两本账。本文复盘一次连锁...

9200

InnoDB MVCC机制全解析:版本链构建、Read View判断逻辑与RC/RR差异

这个DBA有点耶

隔离级别是怎么实现的?为什么InnoDB能做到“读不阻塞写、写不阻塞读”?为什么RR级别下幻读没有被完全解决?

14210

大促超卖37单之后:库存扣减的原子UPDATE、分桶与锁范围实战复盘

数据库小学妹

去年大促的零点,我盯着大屏看订单曲线往上冲,心里挺美。二十分钟后,客服群里有人问,同一个商品怎么卖了 137 件,库存明明只有 100。我第一反应是不可能。库存...

17610

InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析

这个DBA有点耶

InnoDB以页为单位管理数据,默认16KB一页。数据行存储在页里,页与页之间通过B+树组织。

12410
领券