新闻详情

新闻详情

首页 / 资讯中心 / 详情

oracle sql优化随笔1

发布时间:2026/9/30 11:11:11来源:尧图网络
oracle sql优化随笔1
原始语句SELECT T1.I_CODE, T1.M_TYPE, T1.A_TYPE, T1.D_CODE, 0 AS B_TYPE FROM XIR_MD.TBND T1 WHERE T1.I_CODE NOT LIKE UL% AND T1.B_MTR_DATE 2026-09-12 AND T1.IMP_TIME 2026-09-22 03:05:39 UNION SELECT B.I_CODE, B.M_TYPE, B.A_TYPE, AS D_CODE, 1 AS B_TYPE FROM TTRD_BIDD_BOND A INNER JOIN TTRD_BIDD_INFO I ON A.D_CODE I.D_CODE INNER JOIN TTRD_BIDD_BOND_CODE B ON A.D_CODE B.D_CODE AND A.M_TYPE B.M_TYPE AND (B.OLD_I_CODE IS NULL OR B.OLD_I_CODE ) WHERE A.B_MTR_DATE 2026-09-12 AND A.IMP_TIME 2026-09-22 03:05:39 AND NOT EXISTS (SELECT I_CODE, M_TYPE, A_TYPE FROM XIR_MD.TBND BD WHERE A.I_CODE BD.I_CODE AND A.M_TYPE BD.M_TYPE AND A.A_TYPE BD.A_TYPE AND BD.I_CODE NOT LIKE UL%)执行计划执行时间00:01:50.19----------------------------------------------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers | Reads | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | | | 6110 (100)| | 0 |00:01:50.08 | 234K| 51208 | | 1 | SORT UNIQUE | | 1 | 18 | 5106 | 6110 (1)| 00:01:14 | 0 |00:01:50.08 | 234K| 51208 | | 2 | UNION-ALL | | 1 | | | | | 0 |00:01:50.08 | 234K| 51208 | |* 3 | TABLE ACCESS BY INDEX ROWID | TBND | 1 | 1 | 74 | 2549 (1)| 00:00:31 | 0 |00:01:47.99 | 225K| 42419 | |* 4 | INDEX RANGE SCAN | IDX_TBND_MTR_DATE | 1 | 3533 | | 13 (0)| 00:00:01 | 296K|00:00:01.47 | 912 | 851 | | 5 | NESTED LOOPS | | 1 | 17 | 5032 | 3560 (1)| 00:00:43 | 0 |00:00:02.09 | 8818 | 8789 | | 6 | NESTED LOOPS | | 1 | 105 | 5032 | 3560 (1)| 00:00:43 | 0 |00:00:02.09 | 8818 | 8789 | |* 7 | HASH JOIN ANTI | | 1 | 15 | 2190 | 3528 (1)| 00:00:43 | 0 |00:00:02.09 | 8818 | 8789 | |* 8 | INDEX FAST FULL SCAN | IDX_TTRD_BIDD_BOND_IMP_TIME | 1 | 1487 | 175K| 2435 (1)| 00:00:30 | 0 |00:00:02.09 | 8818 | 8789 | |* 9 | INDEX FAST FULL SCAN | PK_TBND | 0 | 863K| 20M| 1090 (1)| 00:00:14 | 0 |00:00:00.01 | 0 | 0 | |* 10 | INDEX RANGE SCAN | AK_KEY_2_TTRD_BID | 0 | 7 | | 2 (0)| 00:00:01 | 0 |00:00:00.01 | 0 | 0 | |* 11 | TABLE ACCESS BY INDEX ROWID| TTRD_BIDD_BOND_CODE | 0 | 1 | 150 | 4 (0)| 00:00:01 | 0 |00:00:00.01 | 0 | 0 | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Elapsed: 00:01:50.19问题点在于UNION上半部分TBND表的回表过多占大头在跟业务确认过谓词条件无法做变更的情况下该sql的优化需求也比较强烈所以选择了添加更多的select列去消除索引该表变更动作较少create index idx_haha26 on XIR_MD.TBND(IMP_TIME,B_MTR_DATE,I_CODE,M_TYPE,A_TYPE,D_CODE,B_TYPE);新的执行计划执行时间00:00:00.08 -------------------------------------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers | -------------------------------------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | | | 3599 (100)| | 0 |00:00:00.05 | 8821 | | 1 | SORT UNIQUE | | 1 | 33 | 6216 | 3599 (1)| 00:00:44 | 0 |00:00:00.05 | 8821 | | 2 | UNION-ALL | | 1 | | | | | 0 |00:00:00.05 | 8821 | |* 3 | TABLE ACCESS BY INDEX ROWID | TBND | 1 | 16 | 1184 | 38 (0)| 00:00:01 | 0 |00:00:00.01 | 3 | |* 4 | INDEX RANGE SCAN | IDX_HAHA26 | 1 | 46 | | 3 (0)| 00:00:01 | 0 |00:00:00.01 | 3 | | 5 | NESTED LOOPS | | 1 | 17 | 5032 | 3559 (1)| 00:00:43 | 0 |00:00:00.05 | 8818 | | 6 | NESTED LOOPS | | 1 | 105 | 5032 | 3559 (1)| 00:00:43 | 0 |00:00:00.05 | 8818 | |* 7 | HASH JOIN ANTI | | 1 | 15 | 2190 | 3527 (1)| 00:00:43 | 0 |00:00:00.05 | 8818 | |* 8 | INDEX FAST FULL SCAN | IDX_TTRD_BIDD_BOND_IMP_TIME | 1 | 1487 | 175K| 2435 (1)| 00:00:30 | 0 |00:00:00.05 | 8818 | |* 9 | INDEX FAST FULL SCAN | PK_TBND | 0 | 689K| 16M| 1090 (1)| 00:00:14 | 0 |00:00:00.01 | 0 | |* 10 | INDEX RANGE SCAN | AK_KEY_2_TTRD_BID | 0 | 7 | | 2 (0)| 00:00:01 | 0 |00:00:00.01 | 0 | |* 11 | TABLE ACCESS BY INDEX ROWID| TTRD_BIDD_BOND_CODE | 0 | 1 | 150 | 4 (0)| 00:00:01 | 0 |00:00:00.01 | 0 | -------------------------------------------------------------------------------------------------------------------------------------------------------- Elapsed: 00:00:00.08问题解决。tips不建议这样大量增加select列去除回表条件允许的情况下优先操作谓词条件部分尝试业务沟通筛选度拉高。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

AI Agent安全学习路线 MCP协议、提示注入、Agent越狱——大模型时代最火的新安全方向! 2026/9/30 11:55:37

AI Agent安全学习路线 MCP协议、提示注入、Agent越狱——大模型时代最火的新安全方向!

2026年,AI圈最火的是什么?AI Agent(智能体)——能自己调用工具、自己执行任务的AI。 但Agent越火,安全问题越炸:提示注入骗它转账、越狱绕过限制、工具调用被滥用、敏感数据被"套话"…… Agent安…

阅读更多 →
量化策略防过拟合:样本内外划分实战指南 2026/9/30 11:55:31

量化策略防过拟合:样本内外划分实战指南

你有没有过这种体验:策略在历史回测里年化70%,最大回撤不到5%,曲线平滑得像教科书案例,结果一上实盘就连续打脸,亏到怀疑自己是不是Python写错了?我敢说,十个做量化的人里至少有八个栽在同一个坑…

阅读更多 →
H3C UIS-Cell超融合架构解析:从虚拟化原理到GB0-620备考实践 2026/9/30 11:55:31

H3C UIS-Cell超融合架构解析:从虚拟化原理到GB0-620备考实践

简介:H3CUIS-Cell超融合题库(GB0-620)是一份面向H3C认证考试的超融合复习资料,专门针对GB0-620考生以及需要掌握UIS平台运维的工程师,以题库形式提炼超融合核心考点。文档共1个docx文件,大小约465KB&#x…

阅读更多 →
Ubuntu安装Nvidia驱动黑屏原因与四层握手修复指南 2026/9/30 11:55:31

Ubuntu安装Nvidia驱动黑屏原因与四层握手修复指南

1. 这不是一次普通驱动安装,而是一场与Ubuntu图形栈的深度对话“Ubuntu安装Nvidia驱动,解决开机黑屏问题”——这句话在Linux桌面用户论坛里每年重复出现上万次,但真正能说清“为什么装完就黑屏”“为什么禁用nouveau还不够”“为什么Secure …

阅读更多 →
无wget也能换yum源:curl/Python/ISO三种可行方案 2026/9/30 11:55:31

无wget也能换yum源:curl/Python/ISO三种可行方案

遇到一台干干净净的CentOS 7最小化安装机器,想换个国内yum源提升下载速度,习惯性输入 wget 去拉取repo文件,结果系统直接甩给你一句 command not found 。这种局面我遇到过好几次,尤其是在内网新交付的虚拟机、Docker容器或者…

阅读更多 →
SpringBoot+Vue社区交流平台:源码解析与部署实战 2026/9/30 11:55:31

SpringBoot+Vue社区交流平台:源码解析与部署实战

这两年接到的这类需求特别多:一套基于SpringBoot的社区技术交流平台,带完整源码、部署文档和代码讲解,最好能直接跑起来、能答辩、能写进简历。很多人把源码下载下来就卡住了,要么环境不对启动报错,要么数据库脚本不知…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉