网站首页 > 技术文章 正文
UNE_XXX这个表访问了两次,是性能的主要障碍,需要想办法,让访问次数变为1次。业务场景是,首先取fversion的最大值,以这个最大值为条件,再取原表的数据。
原语句:
SELECT *
FROM UNE_XXX
WHERE frgnCode = '50101'
AND fagenIdCode = '497a4557acc4b1a8a5cbd984f19aaab'
AND fversion in (SELECT MAX(fversion)
FROM UNE_XXX
WHERE frgnCode = '50101'
AND fagenIdCode = '497a4557acc4b1a8a5cbd984f19aaab');
分析:访问了两次原表,产生15个一致读
优化后:
这种写法想要性能好,有个前提,就是经过t.fagenIdCode,t.frgnCode过滤后,数据量要变的比较小才好,因为max(fversion)over 需要涉及到排序,大量数据的排序,性能不会好的,这种写法只访问一次UNE_XXX,效率可以提高一倍左右。
select * from (
select t.*,max(fversion)over (partition by frgnCode,fagenIdCode) as fversion_max from UNE_XXX t WHERE t.frgnCode = '50101'
AND t.fagenIdCode = '497a4557acc4b1a8a5cbd984f19aaab') where fversion_max=fversion;
分析:访问了一次原表,产生7个一致读,减少了一般一致读
猜你喜欢
- 2025-07-23 国产化红利到底在哪?好多人都在瞎折腾
- 2025-07-23 Oracle 推出 Java 24,增强 AI 支持和后量子加密
- 2025-07-23 JAVA桥接模式适用场景,优缺点是什么你知道吗,这篇文章彻底讲透
- 2025-07-23 SpringBoot条件化配置(@Conditional)全面解析与实战指南
- 2024-10-26 一个前后端分离的Java快速开发平台platform-plus
- 2024-10-26 Oracle-MySQL透明网关配置中关于Driver的坑
- 2024-10-26 pycharm连接数据库失败的解决方法!pycharm连接数据库报错原因!
- 2024-10-26 埃里森炮轰亚马逊AWS不安全,发布Oracle云2.0
- 2024-10-26 JDBC常用的几款数据库驱动程序名及URL
- 2024-10-26 重磅!Spring Boot 2.6 正式发布,一大波新特性,看完我彻底躺平了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)