Go语言技术文章
-
本文按完整工作流讲解 MySQL 慢 SQL 优化:从慢查询日志发现候选 SQL,聚合同类语句,用 EXPLAIN 判断访问方式和扫描行数,再设计联合索引,并通过延迟、扫描行数和业务结果做回归验证。321 收藏 -
MySQL 分区表按时间清理历史数据时,逐行 DELETE 可能带来长事务、undo 增长和锁等待。本文从一次线上删除变慢的现象出发,说明如何确认分区边界、选择 DROP PARTITION,并用复查动作验证空间和业务影响。316 收藏 -
Redis 8.4 新增 MSETEX,可在一次操作中写入多个字符串键并共享过期策略。本文从旧式 MSET 加 EXPIRE 的等待链出发,核对 NX、XX、EX、PX、EXAT、PXAT 和 KEEPTTL 的边界,给出升级前后的验收方法。314 收藏 -
面向线上 Redis 内存告警的运行手册,覆盖触发信号、INFO memory 快速判断、bigkeys 排查、maxmemory 与淘汰策略检查、临时止血、回滚和复盘清单。313 收藏 -
LOAD DATA LOCAL INFILE 能快速导入客户端文件,但权限边界由客户端和 MySQL 服务端共同决定。本文用一个最小导入场景说明 local_infile、--local-infile=0、--load-data-local-dir 的关系,并给出可回查、可回退的安全配置。312 收藏 -
搜索框查询一上线就变慢,很多时候不是数据量突然失控,而是 LIKE 条件写法让索引用不上。本文从慢查询现场开始,逐步验证左通配符、执行计划、前缀匹配和业务改写,整理一套更稳的模糊搜索排查方法。308 收藏 -
Redis 列表做轻量任务队列时,单独使用 RPOP 容易在消费进程崩溃后丢任务。本文用 LMOVE/BLMOVE 把任务先移入 processing list,再用 LREM 确认完成,拆开重复消费、幂等和集群同槽边界。300 收藏 -
MySQL 8.4 支持多个复制通道从不同源端汇聚到一个副本。本文从 channel 级状态、并行 worker、过滤边界和冲突风险出发,整理多源复制的配置与排查方法。300 收藏 -
数据库 · MySQL | 5天前 | MySQL · DDL · 元数据锁 · 性能排查 · performance_schema · MySQL 元数据锁 metadata_locks performance_schema DDL阻塞 Waiting for table metadata lock
MySQL 的 ALTER TABLE 卡住时,不要只盯着 Waiting for table metadata lock。本文用 performance_schema.metadata_locks 和 threads 关联锁对象、等待会话与持有会话,并给出安全终止和发布前检查方法。297 收藏 -
数据库 · MySQL | 3天前 | MySQL · 回滚 · 数据库运维 · 配置变更 · 系统变量 · MySQL 8.4 SET PERSIST SET PERSIST_ONLY RESET PERSIST mysqld-auto.cnf persisted_variables
MySQL 8.4 的 SET PERSIST 可以把全局系统变量同时写入运行时和 mysqld-auto.cnf,SET PERSIST_ONLY 则只为下一次启动准备配置。本文用连接数调整场景拆开两者的作用域、权限、复查与 RESET PERSIST 回退边界,避免把临时改动误当成永久配置。296 收藏 -
数据库 · MySQL | 2个月前 | 字符集 · 故障排查 · MySQL教程 · 索引优化 · 排序规则 · mysql 排序规则 索引优化 utf8mb4 collation MySQL 8.4
从账号唯一键和昵称搜索踩坑切入,讲清 MySQL 8.x utf8mb4_0900_ai_ci、大小写/重音敏感、collation 混用、隐式转换与索引命中验证。294 收藏 -
数据库 · MySQL | 2个月前 | MySQL教程 · 慢查询治理 · 索引优化 · JSON查询 · InnoDB实战 · mysql JSON 慢查询 索引优化 MySQL 8.4 多值索引
从标签检索接口慢查询切入,讲清 MySQL 8.x 多值索引如何让 JSON 数组条件命中索引,以及建索引、EXPLAIN 验证、写入成本和上线回滚检查。291 收藏 -
Redis 的写入回复成功,不等于数据已经落到 AOF 或副本磁盘。本文用 WAITAOF 拆开本地 fsync、副本 fsync 和超时返回值,给出订单确认、幂等重试和生产验收的边界。284 收藏 -
数据库 · MySQL | 5天前 | MySQL · 索引 · 执行计划 · sql优化 · 性能排查 · 执行计划 MySQL 8.4 EXPLAIN FORMAT=JSON cost_info query_cost
MySQL 查询慢时,EXPLAIN 的 rows 只是行数估算,真正影响优化器取舍的还包括 cost_info。本文用订单列表场景拆解 query_cost、read_cost、条件评估成本、prefix_cost 的关系,再用 EXPLAIN ANALYZE 复核估算偏差,避免把 cost 数字直接当成毫秒。284 收藏 -
FUNCTIONLOAD将函数库作为数据库对象持久化并复制,SCRIPTLOAD仅内存缓存脚本且不落盘、不复制;前者支持高可用与跨节点复用,后者重启或主从切换后即失效。281 收藏