一次 MySQL 8 UPDATE 子查询慢 SQL 的优化过程

本文为 AI 整理。 最近排查了一条 MySQL 8 的 UPDATE SQL。表的数据量不算特别大,主表约 30 万行,关联表约 1 万多行,但会导致死锁 这个问题比较典型,记录一下排查过程。 1. 原始 SQL 业务逻辑很简单:根据关联表中的某个父级 ID 找到一批业务 …

生产环境 MySQL Lock wait timeout exceeded 排查实战

案例背景:某业务系统在执行单条数据删除时频繁报错 Lock wait timeout exceeded,初步怀疑是数据量过大导致超时,经排查实为锁竞争问题。本文完整记录从现象到根因的排查过程,以及 MySQL 8.0 下的适配方案,供参考。 一、问题现象 业务系统调用删除接口时 …

聊聊最近的 Vibe Coding 经历

最近花了很大精力在 Vibe Coding 上,当然也做出了不少东西,时间被 token 占据着,公众号也断更了一段时间。 最近一个很大的感触是使用 AI ,思维方式得转过来。第一步是"相信它能",不信就不会去试,不试就永远停留在浅层用法;第二步是探索,在探索中碰到"不能";碰 …

从 Vibe Coding 到 Harness Engineering

春节之后一直在深度 Vibe Coding 做一些事情。将最近收集的资料整理后,在 Codex 中使用 baoyu-slide-deck 这个 skill 生成了一组 ppt 图片。 Vibe Coding 现在应该都或多或少尝试过,但都停留在爱简单沟通几轮,做出一个 Demo …

从养一只“小龙虾”开始,理解 OpenClaw 的本质

和去年的 DeepSeek 一样,今年龙虾(OpenClaw)火爆全网了。最近也养了一只。介绍怎么安装之前先了解下龙虾到底是什么。 一、概念:OpenClaw 到底是什么 OpenClaw 是一个把大模型能力“接到消息入口”的开源 Agent 框架。 它不是单纯聊天,而是让 AI …

推荐两个 Obsidian 插件

最近,深入究了下 Obsidian 的使用,体验上提升了不少。主要涉及下面的两个插件。 Dataview 插件 Obsidian 其实有一个数据库的功能,可以对一些数据进行汇总筛选。但 Dataview 插件的功能还是要强大很多。 年初听脱不花和马伯庸的对谈,提到了写日记,我计划 …

Obsidian 同步最终还是选择了Git

第一次使用 Obsidian 是在 2022 年,这是翻阅之前的文章 [[Obsidian 初体验]] 才知道的,这几年主要是在电脑上使用,移动端因为同步问题用的非常少。 之前也尝试过 Syncthing、坚果云等方案,但总有不好用的地方。一旦体验不佳,慢慢就不再使用,移动端也随 …

AI 时代其实对人的要求更高了

最近项目里发生了一件特别有意思的事,非常值得复盘。 项目经理给一位开发同学布置了一个功能模块,按理说难度不大。考虑到现在 AI 编程工具这么强,项目经理估计很快就能搞定。结果呢?这位同学整整搞了一天还没弄完。 项目经理很纳闷,问他:“你没用 AI 协助吗?” 开发同学一脸苦笑:“ …

Agent Skills 全景指南:从概念机制到实战开发

最近,Agent Skills 彻底火了。 很多人第一次听到 Skills,会觉得“这不就是一堆 Markdown 吗?”我一开始也这么想。但当你把它放进 Agent 的运行方式里,再对比 Prompt、MCP、Function Calling 这些概念,你会发现:Skills …

自研 MySQL 数据迁移工具:比 pt-archiver 快 10 倍的秘密

在上一篇文章《[[使用 pt-archiver 迁移 mysql 数据]]》中,我介绍了使用 Percona Toolkit 工具集中的 pt-archiver 进行历史数据归档的方法。 pt-archiver 功能强大且成熟,但在某些特定场景下,它的性能表现并不尽如人意。 例如 …