排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
117-AI已具备中级SQL优化水平,已经远超平均水平
117-AI已具备中级SQL优化水平,已经远超平均水平
老虎刘谈oracle性能优化
2025-02-25
115
这是我2019年遇到一个案例, 开发人员看似做了优化, 实际上适得其反.模拟如下:
原SQL写法与执行情况, exists里面有rownum=1,执行时间49秒多:
把rownum=1放到exists里面, 想法可能是好的, 实际上效率很差. 把rownum=1去掉后, 逻辑是相同的, 执行时间只需要0.07秒:
我把这个问题丢给grok,让它给出优化建议. 第一次没有选择"Deepsearch"和"思考", 得到的答案不太令人满意:
方案1没问题, 如果没有索引, 上面的demo SQL估计要执行几个小时,但这不是问题核心;
方案2没有考虑等价性, 二者逻辑上是不等价的, 初级小白可能看不出来;
方案3跟原写法没啥大区别,rownum改成fetch语法, 效率还要更差一些(因为fetch 语法使用分析函数).
再看看开启"Deepsearch"和"思考"后的全火力输出(只截取了关键部分):
AI强大的检索能力,比传统的搜索引擎好用不知多少倍, 一下就发现了问题;
索引的建议也是没问题的;
改成in没问题, 改成inner join也是没问题的, 虽然这些都不是问题核心,至少提供了其他选择, 而且等价性也是考虑到的.
AI还贴心的给出了各种优化方案的对比. 其实exists和in在这里效率是一样的, 不知道AI是不是被网上的一些文章给污染了.
总结:
个人认为, AI 在数据库SQL优化领域, 已经超越了大部分开发人员和DBA. 这是一个很好的辅助工具, 使用它也要有一定的理论基础和判断能力.
人工智能
sql优化
oracle
sql
文章转载自
老虎刘谈oracle性能优化
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨