MySQL技术文章
-
MySQL InnoDB 事务死锁发生后,不能只看一条报错就改重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、关联 performance_schema、判断受害事务并验证修复是否真正降低死锁风险。275 收藏 -
MySQL 递归 CTE 需要同时防止层级过深与父子路径成环。本文给出携带 depth 和分隔 path 的安全查询模板,并补充递归上限、查询超时、终止查询、回滚和复盘清单。275 收藏 -
用 ROW_NUMBER 按业务字段分组、按时间和唯一键倒序,再在外层筛选 rn=1,即可取得每组最新完整记录。本文给出 CTE 示例,并解释并列时间、状态过滤位置及性能边界。275 收藏 -
MySQL WITH RECURSIVE 查询组织层级时,递归成员必须用叶子节点条件自然停止,再用 LIMIT、cte_max_recursion_depth 和执行超时做资源保护。本文用员工上下级关系说明各层终止条件的职责。274 收藏 -
按月增长的订单或日志表,不必每次归档都全表搬运。本文用 MySQL 8.4 RANGE 分区示例,说明分区键设计、分区裁剪检查、按月新增与删除边界,以及上线前的回滚和验收方法。273 收藏 -
用一个可复查的导出命令讲清 mysqldump --single-transaction 的一致性边界:InnoDB 为什么能在不锁表的情况下读取同一快照,MyISAM 与 DDL 操作又会带来哪些风险。273 收藏 -
MySQL CHECK 禁止 NOW 等非确定函数。通过时间区间示例区分行内固定关系、提交时校验和当前有效查询,说明建表失败原因及迁移取舍。273 收藏 -
从执行计划异常出发,说明如何用 ANALYZE TABLE 刷新 InnoDB 索引统计信息,并区分执行状态、统计变化与查询计划变化。272 收藏 -
以MySQL 8.4 InnoDB单SKU库存预留为例,对比RC、RR与FOR UPDATE、FOR SHARE的组合,给出事务内扣减与异常回滚示例,并说明权限、连接池及幂等重试边界。271 收藏 -
从递归终止条件、循环数据和 cte_max_recursion_depth 三个方向排查 MySQL CTE 超过默认深度的问题,并给出可回滚的保护配置。270 收藏 -
数据库 · MySQL | 3星期前 | InnoDB · 故障排查 · MySQL教程 · mysql innodb mysqldump 二进制日志 物理备份 single-transaction 一致性备份
MySQL InnoDB 一致性备份的关键是建立可解释的事务或物理快照边界。本文按表引擎、备份方式、备份锁、文件系统快照和二进制日志分层排查,给出纯 InnoDB 逻辑备份与物理备份的选择清单。270 收藏 -
INSERT IGNORE 不只是忽略重复键,它还可能把数据截断、非法值等错误降级成告警。本文用可复现实验拆开行为边界,并给出导入前后检查清单。269 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 备份 · 故障排查 · MySQL NDB NDB备份 BackupDataBufferSize BackupLogBufferSize BackupMemory
MySQL NDB备份出现缓冲区不足时,先区分数据缓冲区与日志缓冲区,再核对版本、节点配置、BackupMemory、目标磁盘空间和写入速度,避免只增大一个参数。269 收藏 -
MySQL JSON_MERGE_PATCH 按 RFC 7396 语义合并 JSON 文档:同名键覆盖、JSON null 删除成员、嵌套对象递归合并,数组和标量则有明确边界。267 收藏 -
应用用一条 INSERT ... ON DUPLICATE KEY UPDATE 保存业务唯一键时,新增行和命中旧行都需要返回同一个主键。本文用 account_code 唯一键演示 LAST_INSERT_ID(id) 的写法、连接级返回边界、并发验收与不适合使用的场景。266 收藏