像 git bisect 一样二分查找你的数据
来源:dev.to — 2026-09-17
📋 概述
报表里的营收数字错了,没人知道从什么时候开始错的——代码有 git bisect,数据却只能靠翻部署记录和 Slack 猜测。作者指出缺的是「任意时刻的数据快照」:在 Neon 上按 parent_timestamp 分支出一份当时的数据、跑一次查询、扔掉分支即可。单次探测约 1.7 秒,24 小时窗口按分钟精度只需约 13 次探测(约 20 秒),而逐分钟扫描要 1440 次。
🔑 核心要点
- 一次探测实测 1.7 秒:843 ms 建分支 + 837 ms 连接并查询。
- 真实案例中 6 次探测、14.2 秒就把 12.5 分钟的窗口缩到 47 秒,且结论与地面真值核对过。
- 硬性上限是历史保留窗口:默认 24 小时,上周坏掉的数据这套方法无能为力,工具会明说而不是瞎猜。
- 二分法会骗人的两种情况:区间起点就已经是坏的,以及同一个值坏了不止一次。
- 分支不是拷贝,所以「显示 10:24 的数据库」这件事才便宜。
💡 金句
我们之所以还在对数据靠猜,是因为这种搜索需要一件数据库通常不提供的东西:询问数据在任意时刻长什么样。
👍 0
👎 0
← 返回 dev.to 首页