选 UUIDv4、UUIDv7 还是 ULID 当主键,真正在选的只有键宽和同一毫秒内有没有顺序。InnoDB 上一个写入者时递增键少近四成的页,四个写入者只剩两成、文本主键反而更差;按主键范围分片的库上递增变成写热点,按 hash 分布的库不看这一项。
Posts for: #mysql
分页查询慢了 40 秒:两张明细表同层 JOIN 乘出 396 万行,聚合又压回 1,220 行
两张明细表只共享半个唯一键,同层 JOIN 之后才聚合,分页接口那 40 秒慢查询就出在中间被 DISTINCT 压回去的那些行上;拆成三步后这组参数下结果逐行一致。
Liquibase (XML) 在微服务里的 14 个问题:schema 归属、changeSet ID、大表 DDL 与回滚
围绕真实项目里常见的 Liquibase(XML)反模式,按问题整理我目前更倾向采用的做法:从 changelog 怎么组织、changeSet 怎么命名,到大表 DDL、K8s 下的锁和回滚,最后是 CI 里怎么把这些挡住。
Spring Boot 3.5 下的数据库设置:HikariCP 调优、N+1 防护、事务管理与 Testcontainers 集成
数据库通常是微服务里比较关键的依赖之一,这套仓库在它身上花的心思集中在 HikariCP 连接池调优、open-in-view: false、@EntityGraph 防 N+1、@Transactional 传播行为、Testcontainers @ServiceConnection 和 Flyway 进阶实践。