在生产环境里,最让人头疼的往往不是一眼能看出的报错,而是那些“能跑、但很慢”的 SQL。它们平时不声不响,一旦遇上高频调用或数据量增长,就会悄悄拖慢整条接口链路。下面是一条真实的慢查询:一段带 LEFT JOIN 的多表统计 SQL,单次执行 0.605 秒,看似不长,但在被反复调用的场景下已经成了明显的性能瓶颈。过去定位这类问题,要靠工程师手动翻执行计划、逐行猜测原因,既费时又高度依赖个人经验。这一次,我们把它交给了 Bonree ONE 的 AI 智动。

AI 智动给出的不是一句笼统的“建议加索引”,而是一套结构化的分析过程。第一步是语法与语义检查,它发现 WHERE 条件里对右表 tiu.username 做了 NOT IN 过滤——这一步很关键:它意味着原本写成 LEFT JOIN 的左连接,实际语义已经退化成 INNER JOIN,左连接保留空行的开销完全白费。第二步是规则命中清单,AI 智动逐条比对内置优化规则并标注证据等级,其中 AP-305 精准指向上面这个 JOIN 语义问题,AP-302 则指出参与 JOIN 的列缺少索引。第三步,它基于这些证据给出根因假设;第四步,输出两条可直接落地的修复建议:P0 级,把 LEFT JOIN 改成 INNER JOIN,消除语义歧义;P1 级,为 t_iam_session_time 表的 login_time、user_id 建立联合索引,避免全表扫描。每条建议都附带预期收益、成本与回归风险,改不改、风险多大,一目了然。


最后,我们照着建议动手改了 SQL:先改写 JOIN 语义、补上索引,又进一步把派生表先聚合再 JOIN,减少中间结果膨胀。改完重新执行,原来 0.605 秒的查询降到了 0.01 秒,提升约 60 倍。
回头看整个过程,没有人去翻执行计划、逐行猜原因。AI 智动把“为什么慢、该改哪里、改完有什么风险”一次性讲清楚,工程师只需要做判断和验证。对于每天要面对成百上千条 SQL 的团队来说,这意味着把原本依赖个别专家、难以复制的调优经验,沉淀成了平台随手可用的能力——让每一位工程师,都能像资深 DBA 一样读懂并修复异常 SQL。
