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

相关推荐
buhuimaren_8 分钟前
pg日常维护
数据库·oracle
大虾别跑9 分钟前
Oracle迁移
数据库·oracle
Trouvaille ~13 分钟前
【MySQL篇】数据库操作:从创建到管理
linux·数据库·mysql·oracle·xshell·ddl
瀚高PG实验室26 分钟前
ETL中,分区表子表未及时收集统计信息,导致sql执行耗时很长
数据库·数据仓库·sql·etl·瀚高数据库
bobasyu29 分钟前
Claude Code 源码笔记 -- queryLoop
java·笔记·spring
北亚数据恢复1 小时前
数据库数据恢复—无有效备份下Oracle Truncate数据表的数据恢复案例
oracle·数据恢复·服务器数据恢复·北亚数据恢复
水云桐程序员1 小时前
Quartus II集成开发环境 |FPGA
笔记·fpga开发·硬件工程·创业创新
星川水月1 小时前
SQL 开窗函数排序详解
数据库·sql
荒川之神1 小时前
Oracle 数据仓库雪花模型设计原则(核心 + 落地 + Oracle 数据库适配)
数据库·数据仓库·oracle
VIV-1 小时前
医院病房管理系统的数据库设计(SQL Server)
数据库·sql·sqlserver