MySQL技术文章
-
搜索框查询一上线就变慢,很多时候不是数据量突然失控,而是 LIKE 条件写法让索引用不上。本文从慢查询现场开始,逐步验证左通配符、执行计划、前缀匹配和业务改写,整理一套更稳的模糊搜索排查方法。308 收藏 -
本文从列表接口排序变慢的现场开始,带你用 EXPLAIN 看执行计划,定位 ORDER BY 触发 filesort 的原因,再按筛选字段和排序字段设计联合索引,最后通过 rows、Extra 和耗时变化验证优化效果。203 收藏 -
本文用订单表归档为例,讲清 MySQL 历史数据如何按时间窗口分批搬迁:先确定归档边界,再批量写入归档表,校验数量和金额,最后小批量清理热表,降低锁等待和慢查询风险。261 收藏 -
本文用两个 MySQL 会话复现可重复读和幻读场景,解释快照读、当前读、范围查询和间隙锁的关系,帮助排查线上并发写入问题。455 收藏 -
本文用订单列表查询场景,演示普通二级索引为什么需要回表,以及如何通过覆盖索引减少回表,并用 EXPLAIN 的 Extra 验证优化结果。381 收藏 -
本文用后台订单列表总数统计场景,演示为什么大表每次 COUNT 会拖慢接口,并按精确总数、条件筛选、缓存和汇总表给出优化方案。336 收藏 -
本文用订单号查询变慢的场景,演示 MySQL 隐式转换如何导致索引无法稳定命中,并给出字段类型统一、参数绑定和上线检查方案。152 收藏 -
本文用一次 MySQL 连接数告警场景,演示如何区分连接池突增、慢 SQL 堵塞和长事务占用,并给出排查命令和上线兜底建议。404 收藏 -
本文用订单列表深分页场景,演示为什么 LIMIT 大偏移会变慢,并通过覆盖索引、延迟关联和游标式分页减少无效扫描。339 收藏 -
通过转账场景复现 MySQL InnoDB 死锁,演示如何查看死锁信息、理解反向加锁原因,并用固定加锁顺序、缩短事务和重试机制降低问题概率。429 收藏 -
通过订单列表慢查询案例,演示如何阅读 EXPLAIN 的 type、key、rows、Extra 字段,并设计联合索引优化 WHERE、ORDER BY 和 LIMIT 分页。159 收藏 -
数据库 · MySQL | 3个月前 | 性能优化 · 执行计划 · MySQL教程 · 慢查询治理 · 数据库运维 · mysql GROUP BY优化 TempTable 内部临时表 Created_tmp_disk_tables
从 MySQL 8.4 内部临时表和 TempTable 入手,讲清 GROUP BY、ORDER BY、DISTINCT 落盘诊断、SQL 改写、索引策略和参数兜底。267 收藏 -
数据库 · MySQL | 3个月前 | 性能优化 · InnoDB · MySQL教程 · 数据库运维 · mysql innodb 批量写入 Change Buffer innodb_change_buffering
从 MySQL 8.4 InnoDB Change Buffer 默认值变化入手,讲清批量写入、二级索引随机 I/O、merge 观察和上线回滚。270 收藏 -
数据库 · MySQL | 3个月前 | 性能优化 · 高并发 · InnoDB · MySQL教程 · 数据库运维 · mysql innodb AUTO_INCREMENT 高并发写入 innodb_autoinc_lock_mode
从 MySQL 8.4 AUTO_INCREMENT 锁模式入手,讲清高并发 INSERT、批量导入、复制格式和上线回滚检查。254 收藏 -
数据库 · MySQL | 3个月前 | 连接池 · 高并发 · 故障排查 · MySQL教程 · 数据库运维 · mysql 高并发 连接池 max_connections Too many connections
从 MySQL Too many connections 事故入手,讲清 max_connections、Threads_connected、Threads_running、连接池容量预算和上线检查。491 收藏