暂无图片
Oracle数据库中如果两表是等值连接,为什么不建议走排序合并连接?
我来答
分享
同同
2023-05-25
Oracle数据库中如果两表是等值连接,为什么不建议走排序合并连接?

Oracle数据库中如果两表是等值连接,为什么不建议走排序合并连接?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

因为排序合并连接需要将两个表放入PGA中,而HASH连接只需要将驱动表放入PGA中,排序合并连接与HASH连接相比,需要耗费更多的PGA。即使排序合并连接中有一个表走的是INDEX FULL SCAN,另外一个表也需要放入PGA中,而这个表往往是大表,如果走HASH连接,大表会作为作为被驱动表,是不会被放入PGA中的。因此,两表等值关联,要么走NL(返回数据量少),要么走HASH(返回数据量多),一般情况下不要走SMJ。

暂无图片 评论
暂无图片 有用 7
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle impdp导入的时候能不能按列映射导入?
回答 3
oracle12c数据泵可以导出视图,你可以在源库新建一个你说的字段的视图类型,然后数据泵导出视图进行数据迁移https://www.xifenfei.com/2012/12/oracle12c%E5
大家都分析一下,一条简单的update语句,在postgresql, oracle 服务器执行的过程;
回答 2
已采纳
这个问题有点大,关于执行的那一部分可以参考pg官网文档。解析>重写>优化>执行其中在执行器中selectupdatedeleteinsert略有区别 http://www.
求助
回答 3
这是云上防火墙的策略做了限制,当客户端几分钟未活动时,就会给你断开。然后当你发送指令时,相当于客户端要检测到超时然后重新连接,就导致感觉很卡。实践经验是换plsql14及以上版本,并在plsql首选项
Oracle awr报告,默认路径是哪个?
回答 5
$ORACLEHOME/product/11.2.0.4/db1/dbms/admin
服务器断电导致RAC无法启动
回答 3
看上去像是磁盘头损坏了
Oracle数据库更新或者删除表时必须指定where子句吗?
回答 2
已采纳
如果省略where子句,则update或delete将被应用到表中所有的行。因此,除非确实打算更新或者删除所有记录,否则要注意使用不带where子句的update或delete语句。建议在对表进行更新
oracle clog大字段类型是怎么赋值的?
回答 1
已采纳
假设有一个表ssk,这个表有clob字段。createorreplaceprocedureinsertclob(newidnumber,textvarchar2)ascloblocclob;amoun
Oracle执行事项提交了,还能回滚回来吗?
回答 3
不能rollback,但是可以flashback,另外,如果是简单的修改某张表内的内容,短时间内可以通过asoftimestamp来查询之前某个时间点前的这个表数据是什么样子
Oracle的$sqlarea 是不是无法查出来这些SQL是那台主机执行的?
回答 2
已采纳
无法依靠sqlarea来确定SQL是哪台主机执行的$sqlarea表列意思如下:SQLTEXT//当前正在执行的游标的sql文本的前1000个字符SQLFULLTEXT//CLOB类型整个sql文本,
oracle dg 补丁版本不一致有影响吗
回答 1
可以的,你的主库和备库都是Oracle11.2.0.4版本,满足兼容性的要求。但是最好能够把主备数据库同时升级补丁,因为在Oracle数据库的DataGuard(DG)环境中,补丁版本的不一致可能会对