网易首页 > 网易号 > 正文 申请入驻

“氛围编程”与数据库工程的结合:清理AI生成的SQL

0
分享至


  “氛围编程”是应用开发领域近期广为流传的一个新词。其基本理念相当简单:开发人员无需费力地手动编写每一行代码,而是向AI编程助手描述需求,审查其生成的代码,进行调整,然后继续推进。开发过程因此变得更具对话性、更具迭代性,而且至少在理论上,效率也更高。

  “氛围编程”确实有很多值得称道之处。但在从“帮我构建一个能实现这个功能的应用程序”到将该应用程序部署到生产环境的过程中,存在一个数据库专业人员应格外关注的问题:SQL。

  AI能够快速生成SQL。它生成的SQL通常能得出正确的结果。但正如每位经验丰富的DBA所知,返回正确结果的SQL并不一定就是好的SQL。

  而“勉强够用”的SQL一旦投入生产环境,其代价可能会非常高昂。

  功能正确不等于高效

  AI生成的SQL所面临的一个根本性问题,正是我们几十年来在应对缺乏经验的开发人员时所面临的问题:人们往往只关注是否得到了正确的结果。我们会检查查询是否返回了所需的行,如果返回了,那就很好。

  接着就转到下一个任务。没错,我们确实需要确保结果正确,但DBA们深知还有更多工作要做。为了返回这些行,系统共扫描了多少行?是否使用了索引(如果有,是哪些)?是否存在不必要的表扫描?查询中是否引入了排序操作?谓词是否可索引?连接操作是否高效?是否无意中引入了笛卡尔积?当表从10万行增长到1亿行时会发生什么?

  AI生成的SQL语句看似完全合理,却可能暗藏细微的性能问题。编码助手可能会构建不必要的复杂查询,在已建索引的列上使用阻碍高效访问的函数,生成冗余的子查询,或者未能充分利用现有的索引。

  在规模扩大之前,SQL运行良好。

  乘数效应

  这正是数据库工程与单纯生成应用程序代码的显著区别所在。一段低效的应用程序逻辑如果每天只执行一次,可能只是令人烦恼;但一条低效的SQL语句如果每天执行1000万次,则会演变成运营噩梦。

  假设一条由AI生成的查询仅额外消耗了几毫秒的CPU时间。在开发阶段,没人会注意到这一点。

  测试数据库规模较小,响应时间看起来没问题,应用程序也通过了功能测试。

  现在,将这些毫秒数乘以数百万次的执行次数。突然间,那条看似无害的SQL语句开始消耗大量CPU资源,增加I/O负载,干扰其他工作负载,并可能导致基础设施或软件成本上升。对于Db2 for z/OS这样的高吞吐量事务处理系统而言,这一点尤为重要——微小的低效在海量工作负载中累积,最终可能造成极其高昂的代价。

  问题并不在于SQL是由AI生成的。自SQL诞生以来,人类就一直在编写低质量的SQL语句。区别在于速度。AI使开发人员能够比以往任何时候都更快地生成代码(包括SQL)。如果我们审查和验证SQL的能力无法以同样的速度提升,我们只会更快地积累技术债务。

  不要等到投入生产环境再行动

  过去,数据库性能分析往往要等到部署完成后才进行。应用程序投入生产环境后,响应时间变慢,CPU占用率上升,用户开始抱怨,这时才有人联系DBA。

  这种模式原本就不够高效。在人工智能辅助开发的时代,这种做法变得越来越难以维系。数据库性能测试需要“左移”。

  SQL分析应作为开发生命周期的一部分,而非在应用程序投入生产之后才进行。开发人员应在编写和测试应用程序的过程中,就要收到关于存在问题的SQL的反馈。这意味着在部署之前,就需要审查访问路径、索引要求、谓词构造、估计成本、基数、排序、连接以及其他性能特征。因为越早发现低效的SQL,修正的成本就越低。

  AI生成SQL的防护措施

  采用AI编码助手的企业应在其应用程序开发防护机制之外,同步建立数据库防护机制。自动化SQL分析应成为CI/CD管道的一部分。

  企业可以制定标准,自动标记潜在问题SQL。例如,当查询执行大规模表扫描、包含笛卡尔连接、使用可疑谓词、产生过多排序、显示出意外高的估计成本,或违反既定的SQL编码标准时,系统应将其标记为待审查。

  其目的并非阻止开发人员使用AI,而是利用AI加速开发进程,同时配合能够与之同步的自动化控制措施。

  请记住,自动化分析并不会取代DBA。它反而能提升DBA的价值,让经验丰富的数据库专业人员能够专注于处理异常情况、架构问题、工作负载交互以及棘手的性能问题,而非手动检查每一条语句。

  AI需要数据库工程

  多年来,有人预测自动化和AI将减少对DBA的需求。但事实上,AI辅助开发或许恰恰能证明,为何由人类主导的数据库专业知识仍然不可或缺。

  仍然需要有人理解“能运行的SQL”与“可扩展的SQL”之间的区别,需要有人理解工作负载。需要有人意识到,在某些情况下,添加索引虽然有助于某个查询,却会损害整体插入和更新性能。

  而且,必须有人明白,优化单个SQL语句并不一定等同于优化整个系统。这些决策需要具备大局观、判断力和经验的人来做出。而这个“人”就是DBA。

  氛围编程可以极大地提高开发人员的生产力。但如果开发速度加快却缺乏相应的工程规范,只会让问题更快地进入生产环境。

  因此,尽管让开发人员随心所欲地编写代码吧,让AI生成代码,让它建议SQL语句,让它加速开发。但在该SQL语句进入高吞吐量的生产数据库之前,请确保有人(或者更理想的是,由某人支持的自动化流程)——即了解数据库工程的人——提出那个始终至关重要的问题:它能运行,但它的性能如何?

  作者:Craig S. Mullins

  来自 “ https://www.dbta.com/Columns/DBA-Corner/%e2%80%98V ”

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
基本确定是飞行员问题!佛州坠机的机长:被曝六个月前与空管硬杠

基本确定是飞行员问题!佛州坠机的机长:被曝六个月前与空管硬杠

果妈聊娱乐
2026-11-05 16:22:43
山姆卖起始祖鸟,要努力留下中产

山姆卖起始祖鸟,要努力留下中产

钛媒体APP
2026-11-04 17:34:11
前“香港众志”头目黄之锋,再获刑10年

前“香港众志”头目黄之锋,再获刑10年

扬子晚报
2026-11-05 12:33:19
中期选举最大输家?马斯克砸近5亿落得满盘皆输 民主党欲“秋后算账”!

中期选举最大输家?马斯克砸近5亿落得满盘皆输 民主党欲“秋后算账”!

财联社
2026-11-05 14:48:05
万斯发长文“与特朗普切割”,特朗普回应

万斯发长文“与特朗普切割”,特朗普回应

上观新闻
2026-11-05 16:49:26
北京八宝山,数万坟位期满却无人再缴,并非儿孙不孝,实在是家里兜不住了

北京八宝山,数万坟位期满却无人再缴,并非儿孙不孝,实在是家里兜不住了

扶苏聊历史
2026-11-04 18:20:53
热火加时20分逆转送快船7连败:字母哥27+14 克莱30分献三分绝杀

热火加时20分逆转送快船7连败:字母哥27+14 克莱30分献三分绝杀

醉卧浮生
2026-11-05 14:23:36
上汽奥迪正式被市监部门立案调查;此前为庆祝郑钦文夺冠,发布“AUDI全系买一赠一”营销文案陷争议

上汽奥迪正式被市监部门立案调查;此前为庆祝郑钦文夺冠,发布“AUDI全系买一赠一”营销文案陷争议

都市快报橙柿互动
2026-11-04 02:34:06
官宣!结婚人数,又新低了

官宣!结婚人数,又新低了

城市财经
2026-11-05 11:45:42
极目深度丨男子感染致命病菌后去世,生前从事清洗猪内脏工作,厂方不服“劳动关系裁定”反诉逝者家属,专家提醒:处理猪肉时须戴专用手套

极目深度丨男子感染致命病菌后去世,生前从事清洗猪内脏工作,厂方不服“劳动关系裁定”反诉逝者家属,专家提醒:处理猪肉时须戴专用手套

极目新闻
2026-11-05 17:40:11
暴跌70%的千亿龙头,四天狂飙47%!股民瞬间被哄成“胚胎”

暴跌70%的千亿龙头,四天狂飙47%!股民瞬间被哄成“胚胎”

深蓝财经
2026-11-05 17:44:34
香港演员尹天照感叹中山房价:350万能买两三百平米的大房子,笑称“请工人干活都能把他累倒”

香港演员尹天照感叹中山房价:350万能买两三百平米的大房子,笑称“请工人干活都能把他累倒”

南方都市报
2026-11-04 19:36:07
特朗普中期选举失利后首次露面

特朗普中期选举失利后首次露面

都市快报橙柿互动
2026-11-05 06:40:25
西班牙乙级联赛惨剧,门将出击致对手前锋心脏骤停离世:是我这辈子最艰难的日子

西班牙乙级联赛惨剧,门将出击致对手前锋心脏骤停离世:是我这辈子最艰难的日子

红星新闻
2026-11-05 21:58:39
爱奇艺白金会员称追剧遇“年度最恶心广告”,关键情节时弹幕广告持续滚动,“很费解广告是如何上线”,平台回应

爱奇艺白金会员称追剧遇“年度最恶心广告”,关键情节时弹幕广告持续滚动,“很费解广告是如何上线”,平台回应

极目新闻
2026-11-05 17:40:11
英国女孩被阿富汗男子拖进火车厕所,强奸了三次,“其他乘客在玩手机”

英国女孩被阿富汗男子拖进火车厕所,强奸了三次,“其他乘客在玩手机”

译言
2026-11-05 10:14:04
3-2险胜!男单爆大冷!16强出12席!就在刚刚,WTT冠军赛:世界第38名掀翻世界第25!奥运亚军火速一轮游,国乒王楚钦迎内战

3-2险胜!男单爆大冷!16强出12席!就在刚刚,WTT冠军赛:世界第38名掀翻世界第25!奥运亚军火速一轮游,国乒王楚钦迎内战

锐评利物浦
2026-11-05 08:33:04
日本再次就台湾问题作出表态!

日本再次就台湾问题作出表态!

叶葉夜
2026-11-05 16:31:24
马驹桥是一支清醒剂 | 何兰生

马驹桥是一支清醒剂 | 何兰生

农见度
2026-11-05 19:51:37
痛心!延大54岁副教授投湖离世,遗书内容曝光:教了30年钢琴,却栽在一笔15万的经费上

痛心!延大54岁副教授投湖离世,遗书内容曝光:教了30年钢琴,却栽在一笔15万的经费上

子非鱼人
2026-11-04 23:59:51
2026-11-05 23:28:49
ITPUB学院
ITPUB学院
分享技术干货,了解最新动态
1293文章数 629关注度
往期回顾 全部

科技要闻

一手实测|国产三大Flash模型,谁更能打?

头条要闻

山西女硕士走失13年遭性侵 认亲见父亲靠近骂"老色鬼"

头条要闻

山西女硕士走失13年遭性侵 认亲见父亲靠近骂"老色鬼"

体育要闻

40岁,正是绝杀的年纪!

娱乐要闻

42岁的唐嫣,又上热搜了

财经要闻

伯克希尔,连续3天扫货!

汽车要闻

不是,顶配才16.89万?第二代海豹07这次给得有点多

态度原创

旅游
房产
时尚
本地
军事航空

旅游要闻

古厝焕新韵,在三坊七巷看见流动的历史

房产要闻

破1.4万套!广州10月楼市成绩单出炉,一二手同步回暖

冬季的“松弛感”,无需用力

本地新闻

乌兰察布:以前种土豆,现在种Token

军事要闻

特朗普称伊朗战事何时结束将由其决定

无障碍浏览 进入关怀版