Sql

一次 MySQL 慢查询优化实战:从索引试错到 …

一个 WMS 波次计划列表查询一页数据需要约 6 秒。这篇文章记录实际排查路径:从应用日志拿到真实 SQL,检查现有索引,测试并回退无效索引,最后验证新的 SQL 执行结构。

文中的环境和业务标识均已脱敏,SQL 结构、耗时数据和判断过程来自实际排查。

慢查询的执行结构

页面需要查询波次主表,关联明细与出库单,聚合 OMS 订单号和 Homebase,关联创建人、修改人信息,并查询装车时间,最后按创建时间倒序返回 50 条。

日志中的关键筛选条件是修改时间范围、组织和项目条件,同时按照创建时间排序。

问题就在这里:SQL 在确定页面最终需要的 50 个波次前,已经开始展开明细、聚合并排序。

先 …

最近工作中处理的几个 Bug

最近一段时间,我处理了不少物流系统里的小问题。它们单独看都不算复杂,但麻烦的地方在于:同一个页面、状态、接口、数据库字段,可能会被多个业务步骤同时使用。

这篇记录几个最近工作里比较典型的 Bug 修改。

1. 费用详情不是所有状态都能编辑

其中一个问题出现在费用详情页。预期规则很明确:只有费用状态是 NEWREJECTED 时,才允许编辑费用详情。

实际情况是,某些后续状态的数据,比如 RELEASED_FINANCE,仍然可以打开编辑框。这就有风险,因为费用一旦进入财务流程,再被用户修改,后面的确认、对账、接口同步都可能出问题。

这个修改不能只隐藏按钮。我需要继续看前端打开编辑框的事件 …