MySQL技术文章
-
数据库 · MySQL | 1个月前 | 连接池 · 高并发 · 故障排查 · MySQL教程 · 数据库运维 · mysql 高并发 连接池 max_connections Too many connections
从 MySQL Too many connections 事故入手,讲清 max_connections、Threads_connected、Threads_running、连接池容量预算和上线检查。491 收藏 -
本文从零构建一个 MySQL 审计日志小项目:用订单表、审计表和触发器记录状态变更,演示本地运行、按订单查询、索引设计和过期清理。486 收藏 -
从业务负载、约束条件、成本和可靠性出发,对比 MySQL 单库、读写分离、分库分表和云 RDS 多可用区方案,给出可落地的选型清单。472 收藏 -
数据库 · MySQL | 1天前 | 并发 · MySQL · InnoDB · update · 库存扣减 · innodb MySQL 库存扣减 条件 UPDATE 防超卖 affected rows
用一条带库存条件的 UPDATE 实现最小扣库存接口,避免先查后改造成超卖;同时说明受影响行、事务边界与死锁重试。470 收藏 -
本文用删除冗余索引的场景讲清 MySQL 不可见索引:它让优化器先忽略索引,用 EXPLAIN、慢查询和业务指标观察影响,再决定恢复可见或真正删除。468 收藏 -
本文用两个 MySQL 会话复现可重复读和幻读场景,解释快照读、当前读、范围查询和间隙锁的关系,帮助排查线上并发写入问题。455 收藏 -
数据库 · MySQL | 1个月前 | 高并发 · 故障排查 · MySQL教程 · 事务隔离 · InnoDB锁 · mysql innodb 高并发 锁等待 MySQL 8.4 NOWAIT SKIP LOCKED
围绕高并发工单抢占和库存预占,讲清 MySQL 8.x InnoDB locking read 中 NOWAIT、SKIP LOCKED 的适用边界、复现方法、SQL 改写、锁等待诊断和上线检查。439 收藏 -
数据库 · MySQL | 1个月前 | binlog · 故障恢复 · 备份恢复 · MySQL教程 · DBA实战 · mysql DBA binlog 备份恢复 mysqlbinlog MySQL 8.4 PITR
从误删订单数据的恢复演练切入,讲清 MySQL 8.x 完整备份、binlog 保留、mysqlbinlog 按时间点/位置回放、校验与上线检查。432 收藏 -
通过转账场景复现 MySQL InnoDB 死锁,演示如何查看死锁信息、理解反向加锁原因,并用固定加锁顺序、缩短事务和重试机制降低问题概率。429 收藏 -
本文用一套可复用工作流讲清 MySQL 深分页优化:先识别 OFFSET 大扫描,再选择游标翻页、延迟关联和覆盖索引,最后用执行计划和响应耗时验证结果。429 收藏 -
重复点击、网络重试和消息重复投递都会让写入接口面对同一业务请求多次到达。本文说明如何用幂等键和唯一索引建立数据库边界,并比较重复时返回既有结果与更新既有记录的取舍。421 收藏 -
数据库 · MySQL | 1个月前 | 性能优化 · 执行计划 · 生产实践 · MySQL教程 · 数据库运维 · mysql 直方图 EXPLAIN ANALYZE Histogram 优化器统计信息
从 MySQL 8.4 直方图统计信息入手,讲清数据分布倾斜如何影响优化器行数估算,以及如何创建、验证和回滚 histogram。419 收藏 -
MySQL中常见的Join类型包括INNERJOIN、LEFTJOIN、RIGHTJOIN和CROSSJOIN,INNERJOIN性能最佳。INNERJOIN返回两表匹配行,LEFTJOIN返回左表全部记录,RIGHTJOIN返回右表全部记录,CROSSJOIN返回笛卡尔积。Join查询慢的原因主要有:缺少索引导致全表扫描、字段类型不一致无法使用索引、表数据量过大、Join层级或字段过多、驱动表选择不合理。优化方法包括:1.为Join字段加索引,尤其是主键和外键;2.控制Join规模,提前过滤减少数据量;414 收藏 -
报表系统不要直接拿高权限账号连生产库。更稳的做法是用视图收敛字段,通过专用只读账号授予 SELECT,再用 SHOW GRANTS 和审计日志复查权限边界。412 收藏 -
本文用一次 MySQL 连接数告警场景,演示如何区分连接池突增、慢 SQL 堵塞和长事务占用,并给出排查命令和上线兜底建议。404 收藏