oracle一次sql优化笔记

背景:两个百万级数据量表需要连接,加全索引的情况下速度仍不见改善,苦查一下午解决问题未遂。

解决:经大佬指点了解到oracle优化器提示,使用/*+ USE_HASH(table1 table2) */或者/*+ USE_MERGE(table1 table2) */来指导优化器选择正确的联接方法。

使用方法示例:

复制代码
SELECT /*+ USE_MERGE(a b) */ a.* 
from table_a a 
inner join table_b b  on a.id=b.aid

使用结果:

从中午午休一小时没跑完变到10秒

觉恐怖如斯,遂记录

另外,可通过解释执行计划查看索引执行情况

另,学习oracle优化器提示可参考oracle优化器提示资料

相关推荐
Li.CQ1 小时前
SQL学习笔记(二)
笔记·sql·学习
川石课堂软件测试3 小时前
Mysql中触发器使用详详详详详解~
数据库·redis·功能测试·mysql·oracle·单元测试·自动化
自不量力的A同学3 小时前
OpenNJet v3.3.1.3
笔记
白衣衬衫 两袖清风4 小时前
SQL联查案例
数据库·sql
charlie1145141914 小时前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++
可信计算4 小时前
【算法随想】一种基于“视觉表征图”拓扑变化的NLP序列预测新范式
人工智能·笔记·python·算法·自然语言处理
wang6021252184 小时前
为什么不采用级联删除而选择软删除
数据库·oracle
历程里程碑5 小时前
C++ 9 stack_queue:数据结构的核心奥秘
java·开发语言·数据结构·c++·windows·笔记·算法
晨曦5432107 小时前
MySQL MOD()函数详解与Python对比
sql
甘露s7 小时前
MySQL深入之索引、存储引擎和SQL优化
数据库·sql·mysql