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

相关推荐
StickToForever3 小时前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
Rverdoser6 小时前
【SQL】多表查询案例
数据库·sql
敲敲敲-敲代码7 小时前
【SQL实验】触发器
数据库·笔记·sql
和道一文字yyds7 小时前
MySQL 中的索引数量是否越多越好?为什么?如何使用 MySQL 的 EXPLAIN 语句进行查询分析?MySQL 中如何进行 SQL 调优?
数据库·sql·mysql
Moonnnn.7 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
小刘|8 小时前
深入理解 SQL 注入漏洞及解决方案
数据库·sql
数巨小码人9 小时前
QT SQL框架及QSqlDatabase类
jvm·sql·qt
哆木9 小时前
排查生产sql查询缓慢
数据库·sql·mysql
电棍23310 小时前
verilog笔记
笔记·fpga开发
让我安静会10 小时前
Obsidian·Copilot 插件配置(让AI根据Obsidian笔记内容进行对话)
人工智能·笔记·copilot