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优化器提示资料

相关推荐
q***146418 分钟前
oracle 12c查看执行过的sql及当前正在执行的sql
java·sql·oracle
ABILI .19 分钟前
Oracle导出
数据库·oracle
q***57742 小时前
pg_sql关于时间的函数
数据库·sql
YJlio2 小时前
进程和诊断工具学习笔记(8.24):Handle——谁占着不放?句柄泄漏排查、强制解锁与检索技巧
服务器·笔记·学习
IUGEI2 小时前
【后端开发笔记】JVM底层原理-内存结构篇
java·jvm·笔记·后端
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [kernel]trace
linux·笔记·学习
charlie1145141913 小时前
勇闯前后端Week2:后端基础——HTTP与REST
开发语言·网络·笔记·网络协议·学习·http
走在路上的菜鸟3 小时前
Android学Dart学习笔记第四节 基本类型
android·笔记·学习
未若君雅裁4 小时前
斐波那契数列 - 动态规划实现 详解笔记
java·数据结构·笔记·算法·动态规划·代理模式
初听于你4 小时前
SQL常用语句解析:从查询到操作
数据库·sql