暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 计划中的内部功能

ASKTOM 2021-02-03
155

问题描述

嗨,团队,

-----------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                              | Name                           | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
-----------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                       |                                |       |       |     4 (100)|          |       |       |
|   1 |  SORT AGGREGATE                        |                                |     1 |    54 |            |          |       |       |
|   2 |   NESTED LOOPS                         |                                |     3 |   162 |     4   (0)| 00:00:01 |       |       |
|   3 |    NESTED LOOPS                        |                                |     3 |   162 |     4   (0)| 00:00:01 |       |       |
|   4 |     PARTITION HASH SINGLE              |                                |     3 |   108 |     3   (0)| 00:00:01 |   KEY |   KEY |
|*  5 |      TABLE ACCESS BY GLOBAL INDEX ROWID|  TABLE1                        |     3 |   108 |     3   (0)| 00:00:01 | ROWID | ROWID |
|*  6 |       INDEX RANGE SCAN                 | IDX_TABLE1                     |    27 |       |     1   (0)| 00:00:01 |   KEY |   KEY |
|   7 |     PARTITION HASH ALL                 |                                |     1 |       |     1   (0)| 00:00:01 |     1 |    64 |
|*  8 |      INDEX RANGE SCAN                  | IDX_TABLE2                     |     1 |       |     1   (0)| 00:00:01 |     1 |    64 |
|*  9 |    TABLE ACCESS BY LOCAL INDEX ROWID   | TABLE2                         |     1 |    18 |     1   (0)| 00:00:01 |     1 |     1 |
-----------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   5 - filter(("TABLE1"."PART_T_TYPE"=:SYS_B_3 AND "TABLE1"."DFLG"=:SYS_B_4 AND "TABLE1"."PFLG"=:SYS_B_5))
   6 - access("TABLE1"."AIC"=:1)
   8 - access("TABLE1"."TRIAN_ID"="TABLE2"."TRIAN_ID")
   9 - filter((INTERNAL_FUNCTION("DEL_ID") AND "TABLE2"."COL_ID"=:2))


需要知道DEL_ID列内部函数的原因

select count(*)
from TABLE1 a ,TABLE2 b
 where a.train_id= b.train_id  ===> datatype is same for both joining columns
 and a.aic = 'AaaaaaQWESQ'  
 AND (DEL_ID) in ('OOO','QQQ')====> causing internal function , datatype is varhcar2(10)
 and a.part_t_type ='L' 
 and a.dflg='N'
 and a.pflg='Y'
 and a.col_ID=b.col_ID 
 and a.col_ID= 'QWE'


手动执行: 从表2 b中选择计数 (*),其中 ('OOO','qq') 中的 (DEL_ID) 实际计划未显示内部功能
TABLE2是哈希分区表b。train_id是分区键

专家解答

内部函数通常是因为查询中的某个地方存在隐式转换。

DEL_ID的数据类型是什么?您可以共享所有表的DDL吗?
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论