MERGE JOIN CARTESIAN 合并连接卡迪森

3730阅读 0评论2021-03-25 brjl
分类:Oracle


temp空间不足告警,检查当时的操作确认是以下语句:

table3只有一个字段,临时数据存放,每次都truncate,但是统计信息不准确,实际有8000行数据
错误的执行计划导致"合并连接卡迪森"方式处理数据,(猜测)会产生大量排序
解决方法是:收集统计信息
或者是
alter session set "_optimizer_mjc_enabled"=flase;
然后再执行

变成全扫了,也比刚才的执行计划好。

为什么会产生这种连接呢?

参考官方文档:

点击(此处)折叠或打开

  1. https://docs.oracle.com/en/database/oracle/oracle-database/19/tgsql/joins.html#GUID-11E7100E-1316-4963-83C5-A85940BE9BB6

补:
除了alter session 的方法关闭mjc,还
可以加  /*+ opt_param('_optimizer_mjc_enabled','false')*/   这个hint。

上一篇:ora.asm 3 offline
下一篇:如何评估一个表占用空间大小