50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Agoda 在 CICD 流程中利用 ChatGPT 优化 SQL 存储过程

作者:Rafal Gancarz

  • 2025-10-09
    北京
  • 本文字数:1011 字

    阅读完需:约 3 分钟

大小:514.42K时长:02:55
Agoda 在 CICD 流程中利用 ChatGPT 优化 SQL 存储过程

Agoda 开始利用 ChatGPT 优化 SQL 存储过程,作为其持续集成/持续交付流程的一部分。自引入这一基于大语言模型(LLM)的自动化辅助环节后,公司发现存储过程的优化时间显著缩短,数据库开发人员的工作压力也随之大幅减轻。目前,Agora 正致力于拓展 ChatGPT 的应用场景,使其在 CI/CD 流程之外也能便捷地用于 SP 优化工作。


Agoda 的数据库开发人员在 SP 优化工作上投入了大量精力,累计耗时约 366 个人工日。其中,有 320 个人工日主要用于分析那些导致性能测试失败的 SP 变更,而这些变更正是由 CI/CD 流程所报告的。公司希望减少合并请求(MR)的审批时间(90 百分位数为 4.1 小时)。


Agoda 软件工程师 Pichamon Rungarun 概述了期望使用 ChatGPT 达到的目标:

为了减少人工工作量并加快 SP 调优速度,我们将 GPT 集成到我们的开发流程中。我们的目标是减少人工审核时间,加快 MR 审批速度,并为开发人员提供性能调优自助工具。


低效的 SP 和 SQL 通常会影响公司的性能、成本和可扩展性,可能会导致响应速度慢、引发用户不满情绪、资源利用率高和可扩展性瓶颈。在实际开发过程中,应用程序开发人员在处理数据库查询时经常面临挑战,包括低效的连接和子查询、过多的查询嵌套、缺失或设计不佳的索引,以及缺乏对查询执行计划的可见性。



SQL 存储过程优化过程与 ChatGPT(来源:Agoda Engineering Blog


该团队开发了一个自动化流程,将存储过程的 SQL 代码、表结构、索引以及性能测试报告输入到 LLM 中,使用 ChatGPT 生成 SP 优化建议。GPT 能够通过重写查询语句并推荐创建或调整索引,为 SP 提出优化后的版本。


对基于 ChatGPT 优化的 SP,CI/CD 流程会重新运行性能测试,并为数据库和应用程序开发人员提供对比,帮助他们做出明智的决策。



SQL 过程优化示例与 ChatGPT(来源:Agoda Engineering Blog


尽管在运用 ChatGPT 方面已经取得了一定的初步成果,但开发人员仍在持续努力改进,以克服当前存在的一些限制,包括实现自动逻辑验证,确保经过大幅修改的 SP 仍能保持与原始版本相同的逻辑。


该团队正致力于将这一功能拓展至 CI/CD 流程之外,使开发人员能够在无需发起合并请求的情况下利用 GPT。此外,工程师们积极协助数据库开发人员对 GPT 的提示进行精细调整,以提高 GPT 建议的质量。最后,该团队计划将 SP 优化应用于负责最高 CPU 利用率的生产 SP,希望减少资源利用并降低基础设施成本。


原文链接

https://www.infoq.com/news/2025/10/agoda-sql-procedure-chatgpt-cicd/

2025-10-09 11:104562

评论

发布
暂无评论

Android架构组件—ViewModel原理,flutter瀑布流布局插件

android 程序员 移动开发

Android研发大厂面试记:阿里,字节,安卓内存监控悬浮窗

android 程序员 移动开发

Android开源的精美日历控件,热插拔设计的万能自定义UI

android 程序员 移动开发

Android快速开发整理(库、插件,40道安卓面试

android 程序员 移动开发

Android性能优化 _ 大图做帧动画卡?优化帧动画之 SurfaceView滑动窗口式帧复用

android 程序员 移动开发

Android技能树 — Fragment总体小结,kotlin安卓开发教程视频

android 程序员 移动开发

Android最强进程保活黑科技实现原理解密及方法,我的头条面试经历分享

android 程序员 移动开发

Android性能优化:看完这篇文章,至少解决 APP 中 90 % 的内存异常问题

android 程序员 移动开发

Android技能树 — 树基础知识小结(一)(1),Android入门

android 程序员 移动开发

Android知识图谱:我们到底需要学习哪些Android知识?,android开发平台的框架原理

android 程序员 移动开发

Android程序员经常遇到的算法问题,七大常用的算法,小白看完都会了

android 程序员 移动开发

Android指纹识别API讲解,一种更快更好的用户体验,送给正在迷茫的你

android 程序员 移动开发

Android插件化-Activity篇,安卓开发面试问题

android 程序员 移动开发

Android开发项目实战:实现折叠式布局,2021年是做Android开发人员的绝佳时机

android 程序员 移动开发

Android开源的精美日历控件,热插拔设计的万能自定义UI(1)

android 程序员 移动开发

Android性能优化:这些绘制优化你一定不能忽略!,【微信小程序】

android 程序员 移动开发

Android性能优化:这些绘制优化你一点要重视!,android开发语言kotlin

android 程序员 移动开发

Android技能树 — 树基础知识小结(一),阿里P7大牛整理

android 程序员 移动开发

Android悬浮窗的简单实现,音视频二次开发

android 程序员 移动开发

Android技术栈(一)从Activity迁移到Fragment,零基础也能看得懂

android 程序员 移动开发

Android技能树 — Activity小结,idea开发android

android 程序员 移动开发

Android春招面经:二本渣院面试网易被拒,最终终于拿到腾讯

android 程序员 移动开发

Android混合编程:WebView实践,全世界都在问Android开发凉了吗

android 程序员 移动开发

Android春招面经分享:一个Android渣渣终于拿到了一个offer

android 程序员 移动开发

Android猿面试(附视频),flutter下拉选择

android 程序员 移动开发

Android毕业生,月薪都在10~15k左右,【Android面试题】

android 程序员 移动开发

Android架构设计:手把手教你撸一个简洁而强大的MVP框架!

android 程序员 移动开发

Android生命周期组件Lifecycle使用详解,android音视频开发方向

android 程序员 移动开发

Android性能优化三:APP启动时间测量,android开发强化实战

android 程序员 移动开发

Android数据库的使用(增删改查),那些年我们一起踩过算法与数据结构的坑

android 程序员 移动开发

王者荣耀商城异地多活架构设计

毛先生

Agoda 在 CICD 流程中利用 ChatGPT 优化 SQL 存储过程_软件工程_InfoQ精选文章