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

相关推荐
饕餮争锋7 小时前
SQL条件中WHERE 1=1 的功能
数据库·sql
玄斎8 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
编织幻境的妖8 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
清风一徐9 小时前
禅道从18.3升级到21.7.6版本
笔记
Jack___Xue9 小时前
LangChain实战快速入门笔记(六)--LangChain使用之Agent
笔记·langchain·unix
零度@9 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
im_AMBER10 小时前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
weixin_4481199410 小时前
Datawhale Hello-Agents入门篇202512第1次作业
数据库·sql·mysql
其美杰布-富贵-李11 小时前
HDF5文件学习笔记
数据结构·笔记·学习
北极糊的狐12 小时前
若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因
java·windows·sql·mybatis