暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于AI智能体SQL优化提升数千倍

原创 手机用户1808 2025-04-23
314

本文主要介绍AI智能体自驱动完成SQL审核优化的场景。首先我们给AI设置了执行时间减少为原先1000倍的优化目标,并将待优化的SQL提供给AI进行优化,AI思考后给出优化方案并自行验证(auto模式)。AI通过优化函数和减少重复扫描,使执行SQL时间达到预期,优化完成。点击查看视频

优化前语句

select empno as 编号, ename as 姓名, sal as 工资, hiredate as 聘用日期, (select sum(b.sal) from emp b where b.deptno=8 and b.hiredate<= a.hiredate) as 合计工资 from emp a where a.deptno =8 order by hiredate;

优化说明

  1. 使用窗口函数:
    • 通过 SUM(sal) OVER (ORDER BY hiredate) 计算累计工资,避免了子查询的重复计算,提高了性能。
  2. 减少重复扫描
    • 原SQL中的子查询会对 emp 表进行多次扫描,而优化后的SQL只扫描一次。
  3. 可读性提升:
    • 使用 WITH 子句(CTE)使逻辑更清晰。
    • 预期效果:
      执行时间显著减少(原SQL执行时间为139156ms)。结果与原SQL一致,但计算效率更高。

优化后语句

WITH cumulative_salary AS (    SELECT         hiredate,        SUM(sal) OVER (ORDER BY hiredate) AS running_total    FROM         emp    WHERE         deptno = 8)SELECT     a.empno AS 编号,    a.ename AS 姓名,    a.sal AS 工资,    a.hiredate AS 聘用日期,    cs.running_total AS 合计工资FROM     emp aJOIN     cumulative_salary cs ON a.hiredate = cs.hiredateWHERE     a.deptno = 8ORDER BY     a.hiredate;

最终优化结果

指标 优化前 优化后 提升幅度
执行时间 139156ms 89ms 1564倍

通过司南AI优化,执行效率已实现1000倍以上的性能优化!AI模型迭代升级中,即将迎来更强劲的表现,如果您想提前感受司南AI的强大性能,欢迎立即联系我们,申请试用版!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论