问题描述
嗨,汤姆,
我有一组实体化视图,其中包含数百万的数据。尝试完成刷新实例化视图时,需要6-7个小时。
我打算减少更新所需的时间。我无法实现快速刷新,因为这些是复杂的实例化视图(尝试更改到快速刷新时抛出错误)。
请你告诉我怎样才能更快地完成更新。有可能吗?
该代码包括使用左外连接从10个表中检索日期列,还包括按函数分组。
实体化视图需要8小时40分钟才能完成刷新!
抱歉,我是SQL开发人员,代码很长。请提出任何有助于达到此目的的改进建议!
代码如下:
创建实体化视图“ARMS”。PM0023_PCHIP_SCHEDLE_14_MV技术、“客户名称”、“条形码”、“面具标题”、“PTRFNUM”、“伪装身份”、“伪装身份”、“伪装身份”、“伪装身份”、“原始身份”、“层序”", "GDSIND", "TECN_CREATE_Date", "TECN_APPROVAL_DING", "PTRFCRRT_TRETSTAMP", "PTRFOEDERD", "DRCCSTARTEDYEDY", "CAL _DECOM_开始T_DAL_DET_DED, "CAL_DECOM_END_DING", "CAL_PM_EDENT_DING", "CAL_TAAL_DING_SINGT", "CAL_TAAL_END_Date", "CAL_TAREGESAF_STA_DETRAF_DED", "CAL_TEDAL_DEN_DING", "CAL_OPC_EDER", "CAL_OPC_END_DED", "CAL_OPCOR C_开始执行程序_-D-C_S-C_S-D_C_CAL_OPC_END_DAL_C_KW_S-T-D-D-D-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C- _开始_揭秘”、“CAL_MPC_END_DED”、“B_OPC_DENT_D”、“B_OPC_END_D”、“GJR_DTE_ORIINED”、“GJR_DED_RELEAED ", "GJR_FENALCOMELETE_FRAMERECEOIEDEIEIEIEIEDY", "MJR_DING_ORIINED", "MJR_DING_REEASED", "MJR_最终的完成时间_D,”FODARYJVRLELEASED”,“客户JVRELEASED”,“ORIGINALSEDULERERRD”,“船期”,“ACTALARRIVALED”,“FNDD”,“DURED_”GDSIN_RE_ARRIVAL”)
组织堆PCT空闲10 PCT占用40 Inittrans 1 MaxTranss 255
无压缩记录
存储(初始65536下一个1048576最小范围1最大范围2147483645
增加0自由列表1自由列表组1
缓冲区池默认闪存Cache默认单元Flash_Cache默认)
表空间“ARMS_TS_TX_DATA”无记忆
立即生成
使用索引
按需完成刷新,开始使用sysdate+0下一个TRUNC(SYS日期) +4+20/24
使用默认本地回退段
使用强制约束禁用查询重写
作为选择PTRF技术,
PTRF.客户名称,
蒙版。蒙版标题为条形码,
PTRF.掩码标题,
PTRF.视图_PTRF_PTRFNUM AS PTRFNUM ,
PTRF.VIEW_PTRF_ORTERSTATUS AS PTREDERSTATUS ,
PTRF.VIEW_PTRF_MASKLYER_MSK_Y AS的掩蔽层, --原件:VIEW_PTRF_MASKLYER_YERNAME ,新:查看_PTRF_MASKYER_MSK_昼( 2016年3月16日)
PTRF.VIEW_PTRF_MASKYREV_MSKYREV ASMMAREYYERREV ,
PTRF.PRIEDIENAME ,
层序列作为层序列的蒙版,
TO_CHAR ( PTRF.GDSINED,'yyyy/mm/dd HH24:MI:SS') AS GDSINED ,
TO_CHAR ( TECN.CREATE_日期,'yyyy/mm/dd HH24:MI:SS') AS TECN_CREATE_日期,
TO_CHAR ( TECN.APPROED_日期,'yyyy/mm/dd HH24:MI:SS') AS TECN_APPROVAL_日期,
TO_CHAR ( PTRF.VIEW_PTRF_CREATESTMP,'yyyy/mm/dd HH24:MI:SS') AS PTRFCRTSTSSTAMP ,
TO_CHAR ( PTRF.VIEW_PTRF_ORTERD,'yyyy/mm/dd HH24:MI:SS') AS PTRFOEREDERD ,
TO_CHAR ( PTRF.DRCSTARTD ,'yyyy/mm/dd HH24:MI:SS') AS DRCSTARTD ,
TO_CHAR ( PTRF.DRCCompletINGD ,'yyyy/mm/dd HH24:MI:SS') AS DRCCompletED ,
TO_CHAR ((DECOM.EDING") - (DECOM.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_DECOM_开始执行任务,
TO_CHAR(DECOM.Date",'yyyy/mm/dd HH24:MI:SS')AS CAL_DECOM_END_DTE ,
TO_CHAR ((PM.“日期”) - (PM.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_PM_开始日期,
TO_CHAR ( PM."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_PM_END_
TO_CHAR ( ( ( TARE。日期) ) - ( DARG.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_TAL_ .T_开始日期,
TO_CHAR ( DARG. .日期",'yyyy/mm/dd HH24:MI:SS') AS CAL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TO_CHAR ((TARGESRAF.Date") - (TARGESRAF.TOAL_REAL_TAL_T ) /24/60/60 ,'yyyyy/mm/dd HH24:MI:SS') AS CAL_ARGETSRAF_开始日期,
TO_CHAR ( DARKESAF."日期"",'yyyy/mm/dd HH24:MI:SS')AS CAL_ARGETSRAF_END_
TO_CHAR ((OPC.Date") - (OPC.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_OPC_开始执行任务,
TO_CHAR ( OPC."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_OPC_END_
TO_CHAR ((OPCORC.“日期”) - (OPCORC.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_OPCORC_开始运行,
TO_CHAR ( OPCORC.Date",'yyyy/mm/dd HH24:MI:SS') AS CAL_OPCORC_END_Date ,
TO_CHAR ((KW.“日期”) -(KW.TOAL_REAL_时间) /24/60/60 ,'yyyyy/mm/dd HH24:MI:SS') AS CAL_MONO_OPC_KW_开始日期,
TO_CHAR ( KW.日期”,'yyyy/mm/dd HH24:MI:SS') AS CAL_MONO_OPC_KW_END_
TO_CHAR ((MPC.DATE) - (MPC.TOAL_REAL_TME)/24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_MPC_开始执行任务时,
TO_CHAR ( MPC."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_MPC_END_
TO_CHAR ( BRION.开始时间",'yyyy/mm/dd HH24:MI:SS') AS B_OPC_开始时间,
TO_CHAR ( BRION.END时刻”,'yyyy/mm/dd HH24:MI:SS') AS B_OPC_END_
MAX ( TO_CHAR(GJR.Date_ORIIND,'yyyy/mm/dd HH24:MI:SS') ) AS GJR_Date_ORIGINED ,
TO_CHAR ( GJR.DATE_REEASED,'yyyy/mm/dd HH24:MI:SS') AS GJR_DTE_REEASED ,
TO_CHAR ( GJR.FINALCompletE_日期,'yyyy/mm/dd HH24:MI:SS') AS GJR_FINALCompletE_Y ,
TO_CHAR ( MASK.FRAMERECE ED_ ,'yyyy/mm/dd HH24:MI:SS') AS帧RECE EDAL ,
TO_CHAR ( MASK.PRIEDIERECE EDE ,'yyyy/mm/dd HH24:MI:SS') AS主要的DIIERECE EDE EDE ,
MAX ( TO_CHAR(MJR.Date_ORIIND,'yyyy/mm/dd HH24:MI:SS') ) AS MJR_Date_ORIINDED ,
TO_CHAR ( MJR.DATE_REEASED,'yyyy/mm/dd HH24:MI:SS') AS MJR_DTE_REEASED ,
TO_CHAR ( MJR.FINALCompletE_日期,'yyyy/mm/dd HH24:MI:SS') AS MJR_FINALCompletE_Y ,
TO_CHAR ( MASK.FODRYJOBVIEWREEASEDATE,'yyyy/mm/dd HH24:MI:SS') AS FindARYJVRLEASEATE ,
TO_CHAR ( MASK.客户作业视图RELESEDATE,'yyyy/mm/dd HH24:MI:SS')作为客户JVRLEASEATE ,
TO_CHAR ( MASK.ORIINALSCHEDARIVALED,'yyyy/mm/dd HH24:MI:SS')作为原版调度ULARRED ,
TO_CHAR ( MASK.SYYY/mm/dd HH24:MI:SS')作为发货日期,
TO_CHAR ( MASK.ACTALARRIVALED,'yyyy/mm/dd HH24:MI:SS')作为实际ARIVALED ,
TO_CHAR ( FND.FND,'yyyy/mm/dd HH24:MI:SS') AS FND日期,
TRUNC((MASK.ACTALARRIVALED - PTRF.GDSIND),2)AS "DUS_GDSIN_RET_ARRIVAL" --添加了新请求的列
来自PTRF_ tech_14_MV PTRF
向左连接SVW_GJR_GDSOUT路径“GJR”
在GJR.设备_NAME =PTRF.MASKSETTIE上
和GJR.MASK_层=PTRF.VIEW_PTRF_MASK层_MSK_ lay
和GJR.MASK_REVISION=PTRF.VIEW_PTRF_MASKYER_MSKYREV
AND ( GJR.PTRF_NUMBER1 = PTRF.视图_PTRF_PTRFNUM或GJR.PTRF_NUMBER2 = PTRF.视图_PTRF_PTRFNUM )
AND GJR.STATUS ='完成'--避免重复行
左连接蒙版WIP_HISTERT蒙版
在PTRF上.MasksetTitle =掩码。设备
和面具。面具标题像PTRF。面具标题
||'%'
||PTRF.VIEW_PTRF_MASKYER_MSK_Y
||''
||PTRF.VIEW_PTRF_MASKYER_MSKYREV
||'%'
左连接更改_MJR MJR
在MJR.设备_NAME =PTRF.MASKSETTIE上
和MJR.MASK_层=PTRF.VIEW_PTRF_MASKYER_MSK_Y
和MJR.MASK_REVISION=PTRF.VIEW_PTRF_MASKYER_MSKYREV
AND MJR.status ='完成'
左连接FAB7_FAB1_FAB8_FND_MV FND
ON FND.FND掩码= PTRF.Maskset标题
和FND.RETICLEER = PTRF.VIEW_PTRF_MASKlayer_MSK_
和FND.BRCYERREV = PTRF.VIEW_PTRF_MASKYER_MSKYREV
左连接SVW_DECOM_操作DECOM
在PTRF上"视图_PTRF_PTRFNUM" = DECOM."PTRF"
和PTRF"MASKSETTItle" =解压缩"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(DECOM."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(DECOM.LER_REV),长度(DECOM.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(DEcom."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(Decomcomcomt.topCell,0))
左连接SVW_PM_操作PM
在PTRF上。.视图_PTRF_PTRFNUM" = PM."PTRF"
和PTRF"MASKSETTItle" = PM."MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKLER_MSK_ lay") =上(PM."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(PM.LER_REV),长度(PM."层")+1, 2)
和上(PTRF.PRIEDIENAME) =上(PM."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(PM.topCell,0))
左连接SVW_TARGE_操作目标
在PTRF上。"视图_PTRF_PTRFNUM" =目标。"PTRF"
和PTRF"MASKSETTItle" =目标"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(TARG.."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR( tar..LER_REV),长度(鞑靼。“层”) +1, 2)
和上(PTRF.PRIEDIENAME) =上(目标。“PriME_DIE_NAME”)
和上(NVL(PTRF.topCellname,0)) =上(NVL(Target.topCell,0))
左连接SVW_targetSAF_操作目标SAF
在PTRF上。"视图_PTRF_PTRFNUM" =目标SRAF ""PTRF"
和PTRF"MASKSETTItle" =目标SAF"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(TARGESAF."层")
和上(PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上(SUBSTR(TARGESAF.LYER_REV),长度( TARETSRAF.LYER")+1, 2))
和上部(PTRF.PRIEDIENAME) =上部(TargetSAF."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname, 0)) =上(NVL(TargetSRF.topCell, 0))
左连接SVW_OPC_操作OPC
在PTRF上"视图_PTRF_PTRFNUM" = OPC."PTRF"
和PTRF"MASKSETTItle" = OPC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(OPC."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(OPC.LER_REV),长度(OPC.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(OPC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(OPC.topCell,0))
左连接SVW_OPC_ORC_操作OPCORC
在PTRF上"视图_PTRF_PTRFNUM" = OPCORC ""PTRF"
和PTRF"MASKSETTItle" = OPCORC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(OPCORC."迭层")
和上(PTRF.VIEW_PTRF_MASKLYER_MSKYREV") =上(SUBSTR(OPCORC.LER_REV),长度(OPCORC.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(OPCORC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(OPCORC.topCell,0))
左连接SVW_MONO_OPC_KW_操作KW
在PTRF上。.视图_PTRF_PTRFNUM" = KW."PTRF"
和PTRF"MASKSETTItle" =KW."MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKLER_MSK_ lay") =上(KW." layerER")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(KW.LER_REV),长度(KW.LYER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(KW."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(KW.topCell,0))
左连接SVW_MPC_操作MPC
在PTRF上"视图_PTRF_PTRFNUM" = MPC ""PTRF"
和PTRF"MASKSETTItle" = MPC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(MPC."层")
和上( PTRF."VIEW_PTRF_MASKLYER_MSKYREV" ) =上(SUBSTR(MPC."LER_REV),长度(MPC."层" ) +1, 2))
和上(PTRF.PRIEDIENAME) =上(MPC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(MPC.topCell,0))
左连接GTI_BRION_运行时间_VW BRION
在PTRF上"视图_PTRF_PTRFNUM" = BRION."PTRF"
和PTRF"MASKSETTItle" = BRION."MASK_SET_TItle"
和PTRF."VIEW_PTRF_MASKYER_MSK_Y" = BRION."层"
和PTRF."VIEW_PTRF_MASKYER_MSKYREV" =子STR(BRION.LYER_REV),长度(BRION."LYER")+1, 2)
和上( R_操作) ='OPC'
和上(NVL(PTRF.topCellname, 0)) =上(NVL(Bion.topCell, 0))
左连接PLM_TECN TECN
在TECN.TECN_NO = PTRF.TECN_NUM上
其中PTRF.VIEW_PTRF_MASKlayer_TAPEOUT = 1
与(PTRF.帧输出= 1
或PTRF.primetapeout = 1)
按PTRF技术分组,
PTRF.客户名称,
面具。面具标题,
PTRF.掩码标题,
PTRF.视图_PTRF_PTRFNUM ,
PTRF.VIEW_PTRF_ORTERSTATUS ,
PTRF.VIEW_PTRF_MASKYER_MSK_Y ,
PTRF.VIEW_PTRF_MASKYER_MSKYREV ,
PTRF.PRIEDIENAME ,
蒙版。层序列,
PTRF.GDSINATE ,
TECN.CREation_D ,
TECN.APPROED_D ,
PTRF.VIEW_PTRF_CREATE时间STMP ,
PTRF.VIEW_PTRF_ORTERD ,
PTRF.DRCARTT日期,
PTRF.DRC完成日期,
分解操作,
分解。日期,
DECOM.TOAL_REAL_时间,
PM.操作,
PM."日期" ,
PM.TAL_REAL_时刻,
目标。操作,
目标"日期" ,
目标.TOAL_REAL_时间,
目标SRAF.操作,
“日期”,
目标SRF.TOAL_REAL_时刻,
OPC操作,
OPC."日期" ,
OPC.TOAL_REAL_时间,
OPCORC.操作,
OPCORC。“日期”,
OPCORC.TOAL_REAL_时刻,
kw.操作,
"日期" ,
总实际时间,
MPC.操作,
MPC"日期" ,
MPC.TOAL_REAL_时刻,
Bion."开始时间" ,
布里昂"结束时间" ,
GJR.Date_RELESED ,
GJR.FAL完成日期,
掩码。帧接收日期,
蒙面.Primediereceivedate ,
MJR.Yate_RELESED ,
MJR.FENALCompletE_日期,
蒙版。铸造作业视图发布,
面具。客户工作查看发布,
原始计划到达日期,
掩码。发货日期,
掩码。实际到达日期,
FND.FND ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_BARCODE_14”。PM0023_CIP_SCHED UL_14_MV”(“BARCODE”) ;
在"ARMS"上创建位图索引"ARMS"。"IDX_CS_CUSTER_14"。PM0023_CIP_SCHED ULED_14_MV" ( "客户名称" ) ;
创建位图索引“ARMS”。“IDX_CS_MASKYERREV_14”在“ARMS”上。PM0023_SCHIP_SCHEDL_14_MV”(“MASKYERREV”) ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_MASKLER_14”。PM0023_CIP_SCHED ULER_14_MV”(“MASKLER”) ;
在“ARMS”上创建BITMAP索引“ARMS”。IDX_CS_MASKSETTIE_14”。PM0023_CIP_SCHED UL_14_MV”(“MASKSETTIE”) ;
在“ARMS”上创建BITMAP索引“ARMS”。IDX_CS_PRIEDIENAME_14”。PM0023_CIP_SCHED ULEDI_14_MV”(“PRIEDIENAME”) ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_ TechNology_14”。PM0023_CIP_SCHED UL_14_MV”(“技术”) ;
代码的解释计划如下所示:
计划散列值: 3494407838
--------------------------------------------
| ID |操作|名称|
--------------------------------------------
| 0 | SELECT语句| |
| 1 |散列分组依据| |
| 2 |外部嵌套循环| |
| 3 |散列连接右外| |
4 |远程| PLM_TECN |
|5 |散列连接右外| |
|6 |远程|更改_MJR |
|7 |散列连接右外| |
| 8 |表格访问已满| GTI_BRION_运行时间|
|9 |散列连接右外| |
| 10 |表格访问已满| GTI_CAL_运行时间|
| 11 |散列连接右外| |
| 12 |表格访问全部| GTI_CAL_运行时间|
| 13 |散列连接右外| |
14 |表格访问全部| GTI_CAL_运行时间|
|15 |散列连接右外| |
16 |表格访问已满| GTI_CAL_运行时间|
17散列连接右外| |
| 18 |表格访问全部| GTI_CAL_运行时间|
19 |散列连接右外| |
| 20 |表格访问已满| GTI_CAL_运行时间|
| 21 |散列连接右外| |
| 22 |表格访问全部| GTI_CAL_运行时间|
23 |散列连接右外| |
| 24 |表格访问全部| GTI_CAL_运行时间|
25 |散列连接右外| |
| 26 |表格访问已满|掩码WIP_HIS RY |
|27 |散列连接右外| |
| 28 |马特_VIEW访问完全| FAB7_FAB1_FAB8_FND_MV |
|29 |马特_VIEW访问完全| PTRF_ tech_14_MV |
|30 |查看| VW_ LT_B5828CA4 |
| 31 |嵌套循环| |
32 |远程|更改_GJR |
浏览| 33次|浏览| |
计数| 34 |
| 35 |连接时不过滤| |
| 36浏览| |
| 37 |排序聚合| |
| 38 |远程|更改_GJR |
--------------------------------------------
连接表区域的索引如下:
- PTRF_ tech_14_MV是一个实例化视图。索引类型: B树索引
技术
视图_PTRF_PTRFNUM
视图_PTRF_MASK层_MSK_ lay
遮罩设置标题
原名
视图_PTRF_MASKYER_MSKYREV
-SVW_GJR_GDSOUTPIN是一个视图
-MashideWIP_HISTRY是一个表: b树索引
设备
面具标题
-是一个同义词
- FAB7_FAB1_FAB8_FND_MV是实例化视图。索引类型: b树
FND掩码
- - SVW_DECOM_操作、SVW_PM_操作、SVW_TARGE_操作、SVW_TARAF_操作、SVW_OPC_操作、SVW_OPC_ORC_操作、, SVW_MONO_OPC_KW_操作、SVW_MPC_操作、GTI_BRION_运行时间和VW为视图
- PLM_TECN是一个同义词
请帮助或建议我如何处理这种情况。
先谢谢你了
我有一组实体化视图,其中包含数百万的数据。尝试完成刷新实例化视图时,需要6-7个小时。
我打算减少更新所需的时间。我无法实现快速刷新,因为这些是复杂的实例化视图(尝试更改到快速刷新时抛出错误)。
请你告诉我怎样才能更快地完成更新。有可能吗?
该代码包括使用左外连接从10个表中检索日期列,还包括按函数分组。
实体化视图需要8小时40分钟才能完成刷新!
抱歉,我是SQL开发人员,代码很长。请提出任何有助于达到此目的的改进建议!
代码如下:
创建实体化视图“ARMS”。PM0023_PCHIP_SCHEDLE_14_MV技术、“客户名称”、“条形码”、“面具标题”、“PTRFNUM”、“伪装身份”、“伪装身份”、“伪装身份”、“伪装身份”、“原始身份”、“层序”", "GDSIND", "TECN_CREATE_Date", "TECN_APPROVAL_DING", "PTRFCRRT_TRETSTAMP", "PTRFOEDERD", "DRCCSTARTEDYEDY", "CAL _DECOM_开始T_DAL_DET_DED, "CAL_DECOM_END_DING", "CAL_PM_EDENT_DING", "CAL_TAAL_DING_SINGT", "CAL_TAAL_END_Date", "CAL_TAREGESAF_STA_DETRAF_DED", "CAL_TEDAL_DEN_DING", "CAL_OPC_EDER", "CAL_OPC_END_DED", "CAL_OPCOR C_开始执行程序_-D-C_S-C_S-D_C_CAL_OPC_END_DAL_C_KW_S-T-D-D-D-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C- _开始_揭秘”、“CAL_MPC_END_DED”、“B_OPC_DENT_D”、“B_OPC_END_D”、“GJR_DTE_ORIINED”、“GJR_DED_RELEAED ", "GJR_FENALCOMELETE_FRAMERECEOIEDEIEIEIEIEDY", "MJR_DING_ORIINED", "MJR_DING_REEASED", "MJR_最终的完成时间_D,”FODARYJVRLELEASED”,“客户JVRELEASED”,“ORIGINALSEDULERERRD”,“船期”,“ACTALARRIVALED”,“FNDD”,“DURED_”GDSIN_RE_ARRIVAL”)
组织堆PCT空闲10 PCT占用40 Inittrans 1 MaxTranss 255
无压缩记录
存储(初始65536下一个1048576最小范围1最大范围2147483645
增加0自由列表1自由列表组1
缓冲区池默认闪存Cache默认单元Flash_Cache默认)
表空间“ARMS_TS_TX_DATA”无记忆
立即生成
使用索引
按需完成刷新,开始使用sysdate+0下一个TRUNC(SYS日期) +4+20/24
使用默认本地回退段
使用强制约束禁用查询重写
作为选择PTRF技术,
PTRF.客户名称,
蒙版。蒙版标题为条形码,
PTRF.掩码标题,
PTRF.视图_PTRF_PTRFNUM AS PTRFNUM ,
PTRF.VIEW_PTRF_ORTERSTATUS AS PTREDERSTATUS ,
PTRF.VIEW_PTRF_MASKLYER_MSK_Y AS的掩蔽层, --原件:VIEW_PTRF_MASKLYER_YERNAME ,新:查看_PTRF_MASKYER_MSK_昼( 2016年3月16日)
PTRF.VIEW_PTRF_MASKYREV_MSKYREV ASMMAREYYERREV ,
PTRF.PRIEDIENAME ,
层序列作为层序列的蒙版,
TO_CHAR ( PTRF.GDSINED,'yyyy/mm/dd HH24:MI:SS') AS GDSINED ,
TO_CHAR ( TECN.CREATE_日期,'yyyy/mm/dd HH24:MI:SS') AS TECN_CREATE_日期,
TO_CHAR ( TECN.APPROED_日期,'yyyy/mm/dd HH24:MI:SS') AS TECN_APPROVAL_日期,
TO_CHAR ( PTRF.VIEW_PTRF_CREATESTMP,'yyyy/mm/dd HH24:MI:SS') AS PTRFCRTSTSSTAMP ,
TO_CHAR ( PTRF.VIEW_PTRF_ORTERD,'yyyy/mm/dd HH24:MI:SS') AS PTRFOEREDERD ,
TO_CHAR ( PTRF.DRCSTARTD ,'yyyy/mm/dd HH24:MI:SS') AS DRCSTARTD ,
TO_CHAR ( PTRF.DRCCompletINGD ,'yyyy/mm/dd HH24:MI:SS') AS DRCCompletED ,
TO_CHAR ((DECOM.EDING") - (DECOM.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_DECOM_开始执行任务,
TO_CHAR(DECOM.Date",'yyyy/mm/dd HH24:MI:SS')AS CAL_DECOM_END_DTE ,
TO_CHAR ((PM.“日期”) - (PM.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_PM_开始日期,
TO_CHAR ( PM."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_PM_END_
TO_CHAR ( ( ( TARE。日期) ) - ( DARG.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_TAL_ .T_开始日期,
TO_CHAR ( DARG. .日期",'yyyy/mm/dd HH24:MI:SS') AS CAL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TO_CHAR ((TARGESRAF.Date") - (TARGESRAF.TOAL_REAL_TAL_T ) /24/60/60 ,'yyyyy/mm/dd HH24:MI:SS') AS CAL_ARGETSRAF_开始日期,
TO_CHAR ( DARKESAF."日期"",'yyyy/mm/dd HH24:MI:SS')AS CAL_ARGETSRAF_END_
TO_CHAR ((OPC.Date") - (OPC.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_OPC_开始执行任务,
TO_CHAR ( OPC."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_OPC_END_
TO_CHAR ((OPCORC.“日期”) - (OPCORC.TOAL_REAL_时间) /24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_OPCORC_开始运行,
TO_CHAR ( OPCORC.Date",'yyyy/mm/dd HH24:MI:SS') AS CAL_OPCORC_END_Date ,
TO_CHAR ((KW.“日期”) -(KW.TOAL_REAL_时间) /24/60/60 ,'yyyyy/mm/dd HH24:MI:SS') AS CAL_MONO_OPC_KW_开始日期,
TO_CHAR ( KW.日期”,'yyyy/mm/dd HH24:MI:SS') AS CAL_MONO_OPC_KW_END_
TO_CHAR ((MPC.DATE) - (MPC.TOAL_REAL_TME)/24/60/60,'yyyy/mm/dd HH24:MI:SS') AS CAL_MPC_开始执行任务时,
TO_CHAR ( MPC."日期"",'yyyy/mm/dd HH24:MI:SS') AS CAL_MPC_END_
TO_CHAR ( BRION.开始时间",'yyyy/mm/dd HH24:MI:SS') AS B_OPC_开始时间,
TO_CHAR ( BRION.END时刻”,'yyyy/mm/dd HH24:MI:SS') AS B_OPC_END_
MAX ( TO_CHAR(GJR.Date_ORIIND,'yyyy/mm/dd HH24:MI:SS') ) AS GJR_Date_ORIGINED ,
TO_CHAR ( GJR.DATE_REEASED,'yyyy/mm/dd HH24:MI:SS') AS GJR_DTE_REEASED ,
TO_CHAR ( GJR.FINALCompletE_日期,'yyyy/mm/dd HH24:MI:SS') AS GJR_FINALCompletE_Y ,
TO_CHAR ( MASK.FRAMERECE ED_ ,'yyyy/mm/dd HH24:MI:SS') AS帧RECE EDAL ,
TO_CHAR ( MASK.PRIEDIERECE EDE ,'yyyy/mm/dd HH24:MI:SS') AS主要的DIIERECE EDE EDE ,
MAX ( TO_CHAR(MJR.Date_ORIIND,'yyyy/mm/dd HH24:MI:SS') ) AS MJR_Date_ORIINDED ,
TO_CHAR ( MJR.DATE_REEASED,'yyyy/mm/dd HH24:MI:SS') AS MJR_DTE_REEASED ,
TO_CHAR ( MJR.FINALCompletE_日期,'yyyy/mm/dd HH24:MI:SS') AS MJR_FINALCompletE_Y ,
TO_CHAR ( MASK.FODRYJOBVIEWREEASEDATE,'yyyy/mm/dd HH24:MI:SS') AS FindARYJVRLEASEATE ,
TO_CHAR ( MASK.客户作业视图RELESEDATE,'yyyy/mm/dd HH24:MI:SS')作为客户JVRLEASEATE ,
TO_CHAR ( MASK.ORIINALSCHEDARIVALED,'yyyy/mm/dd HH24:MI:SS')作为原版调度ULARRED ,
TO_CHAR ( MASK.SYYY/mm/dd HH24:MI:SS')作为发货日期,
TO_CHAR ( MASK.ACTALARRIVALED,'yyyy/mm/dd HH24:MI:SS')作为实际ARIVALED ,
TO_CHAR ( FND.FND,'yyyy/mm/dd HH24:MI:SS') AS FND日期,
TRUNC((MASK.ACTALARRIVALED - PTRF.GDSIND),2)AS "DUS_GDSIN_RET_ARRIVAL" --添加了新请求的列
来自PTRF_ tech_14_MV PTRF
向左连接SVW_GJR_GDSOUT路径“GJR”
在GJR.设备_NAME =PTRF.MASKSETTIE上
和GJR.MASK_层=PTRF.VIEW_PTRF_MASK层_MSK_ lay
和GJR.MASK_REVISION=PTRF.VIEW_PTRF_MASKYER_MSKYREV
AND ( GJR.PTRF_NUMBER1 = PTRF.视图_PTRF_PTRFNUM或GJR.PTRF_NUMBER2 = PTRF.视图_PTRF_PTRFNUM )
AND GJR.STATUS ='完成'--避免重复行
左连接蒙版WIP_HISTERT蒙版
在PTRF上.MasksetTitle =掩码。设备
和面具。面具标题像PTRF。面具标题
||'%'
||PTRF.VIEW_PTRF_MASKYER_MSK_Y
||''
||PTRF.VIEW_PTRF_MASKYER_MSKYREV
||'%'
左连接更改_MJR MJR
在MJR.设备_NAME =PTRF.MASKSETTIE上
和MJR.MASK_层=PTRF.VIEW_PTRF_MASKYER_MSK_Y
和MJR.MASK_REVISION=PTRF.VIEW_PTRF_MASKYER_MSKYREV
AND MJR.status ='完成'
左连接FAB7_FAB1_FAB8_FND_MV FND
ON FND.FND掩码= PTRF.Maskset标题
和FND.RETICLEER = PTRF.VIEW_PTRF_MASKlayer_MSK_
和FND.BRCYERREV = PTRF.VIEW_PTRF_MASKYER_MSKYREV
左连接SVW_DECOM_操作DECOM
在PTRF上"视图_PTRF_PTRFNUM" = DECOM."PTRF"
和PTRF"MASKSETTItle" =解压缩"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(DECOM."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(DECOM.LER_REV),长度(DECOM.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(DEcom."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(Decomcomcomt.topCell,0))
左连接SVW_PM_操作PM
在PTRF上。.视图_PTRF_PTRFNUM" = PM."PTRF"
和PTRF"MASKSETTItle" = PM."MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKLER_MSK_ lay") =上(PM."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(PM.LER_REV),长度(PM."层")+1, 2)
和上(PTRF.PRIEDIENAME) =上(PM."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(PM.topCell,0))
左连接SVW_TARGE_操作目标
在PTRF上。"视图_PTRF_PTRFNUM" =目标。"PTRF"
和PTRF"MASKSETTItle" =目标"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(TARG.."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR( tar..LER_REV),长度(鞑靼。“层”) +1, 2)
和上(PTRF.PRIEDIENAME) =上(目标。“PriME_DIE_NAME”)
和上(NVL(PTRF.topCellname,0)) =上(NVL(Target.topCell,0))
左连接SVW_targetSAF_操作目标SAF
在PTRF上。"视图_PTRF_PTRFNUM" =目标SRAF ""PTRF"
和PTRF"MASKSETTItle" =目标SAF"MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(TARGESAF."层")
和上(PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上(SUBSTR(TARGESAF.LYER_REV),长度( TARETSRAF.LYER")+1, 2))
和上部(PTRF.PRIEDIENAME) =上部(TargetSAF."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname, 0)) =上(NVL(TargetSRF.topCell, 0))
左连接SVW_OPC_操作OPC
在PTRF上"视图_PTRF_PTRFNUM" = OPC."PTRF"
和PTRF"MASKSETTItle" = OPC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(OPC."层")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(OPC.LER_REV),长度(OPC.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(OPC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(OPC.topCell,0))
左连接SVW_OPC_ORC_操作OPCORC
在PTRF上"视图_PTRF_PTRFNUM" = OPCORC ""PTRF"
和PTRF"MASKSETTItle" = OPCORC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(OPCORC."迭层")
和上(PTRF.VIEW_PTRF_MASKLYER_MSKYREV") =上(SUBSTR(OPCORC.LER_REV),长度(OPCORC.LawER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(OPCORC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(OPCORC.topCell,0))
左连接SVW_MONO_OPC_KW_操作KW
在PTRF上。.视图_PTRF_PTRFNUM" = KW."PTRF"
和PTRF"MASKSETTItle" =KW."MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKLER_MSK_ lay") =上(KW." layerER")
和上部( PTRF.VIEW_PTRF_MASKLYER_MSKYREV) =上部( SUBSTR(KW.LER_REV),长度(KW.LYER")+1, 2))
和上(PTRF.PRIEDIENAME) =上(KW."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(KW.topCell,0))
左连接SVW_MPC_操作MPC
在PTRF上"视图_PTRF_PTRFNUM" = MPC ""PTRF"
和PTRF"MASKSETTItle" = MPC""MASK_SET_TItle"
和上(PTRF."VIEW_PTRF_MASKYER_MSK_ lay") =上(MPC."层")
和上( PTRF."VIEW_PTRF_MASKLYER_MSKYREV" ) =上(SUBSTR(MPC."LER_REV),长度(MPC."层" ) +1, 2))
和上(PTRF.PRIEDIENAME) =上(MPC."PRIME_DIE_NAME")
和上(NVL(PTRF.topCellname,0)) =上(NVL(MPC.topCell,0))
左连接GTI_BRION_运行时间_VW BRION
在PTRF上"视图_PTRF_PTRFNUM" = BRION."PTRF"
和PTRF"MASKSETTItle" = BRION."MASK_SET_TItle"
和PTRF."VIEW_PTRF_MASKYER_MSK_Y" = BRION."层"
和PTRF."VIEW_PTRF_MASKYER_MSKYREV" =子STR(BRION.LYER_REV),长度(BRION."LYER")+1, 2)
和上( R_操作) ='OPC'
和上(NVL(PTRF.topCellname, 0)) =上(NVL(Bion.topCell, 0))
左连接PLM_TECN TECN
在TECN.TECN_NO = PTRF.TECN_NUM上
其中PTRF.VIEW_PTRF_MASKlayer_TAPEOUT = 1
与(PTRF.帧输出= 1
或PTRF.primetapeout = 1)
按PTRF技术分组,
PTRF.客户名称,
面具。面具标题,
PTRF.掩码标题,
PTRF.视图_PTRF_PTRFNUM ,
PTRF.VIEW_PTRF_ORTERSTATUS ,
PTRF.VIEW_PTRF_MASKYER_MSK_Y ,
PTRF.VIEW_PTRF_MASKYER_MSKYREV ,
PTRF.PRIEDIENAME ,
蒙版。层序列,
PTRF.GDSINATE ,
TECN.CREation_D ,
TECN.APPROED_D ,
PTRF.VIEW_PTRF_CREATE时间STMP ,
PTRF.VIEW_PTRF_ORTERD ,
PTRF.DRCARTT日期,
PTRF.DRC完成日期,
分解操作,
分解。日期,
DECOM.TOAL_REAL_时间,
PM.操作,
PM."日期" ,
PM.TAL_REAL_时刻,
目标。操作,
目标"日期" ,
目标.TOAL_REAL_时间,
目标SRAF.操作,
“日期”,
目标SRF.TOAL_REAL_时刻,
OPC操作,
OPC."日期" ,
OPC.TOAL_REAL_时间,
OPCORC.操作,
OPCORC。“日期”,
OPCORC.TOAL_REAL_时刻,
kw.操作,
"日期" ,
总实际时间,
MPC.操作,
MPC"日期" ,
MPC.TOAL_REAL_时刻,
Bion."开始时间" ,
布里昂"结束时间" ,
GJR.Date_RELESED ,
GJR.FAL完成日期,
掩码。帧接收日期,
蒙面.Primediereceivedate ,
MJR.Yate_RELESED ,
MJR.FENALCompletE_日期,
蒙版。铸造作业视图发布,
面具。客户工作查看发布,
原始计划到达日期,
掩码。发货日期,
掩码。实际到达日期,
FND.FND ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_BARCODE_14”。PM0023_CIP_SCHED UL_14_MV”(“BARCODE”) ;
在"ARMS"上创建位图索引"ARMS"。"IDX_CS_CUSTER_14"。PM0023_CIP_SCHED ULED_14_MV" ( "客户名称" ) ;
创建位图索引“ARMS”。“IDX_CS_MASKYERREV_14”在“ARMS”上。PM0023_SCHIP_SCHEDL_14_MV”(“MASKYERREV”) ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_MASKLER_14”。PM0023_CIP_SCHED ULER_14_MV”(“MASKLER”) ;
在“ARMS”上创建BITMAP索引“ARMS”。IDX_CS_MASKSETTIE_14”。PM0023_CIP_SCHED UL_14_MV”(“MASKSETTIE”) ;
在“ARMS”上创建BITMAP索引“ARMS”。IDX_CS_PRIEDIENAME_14”。PM0023_CIP_SCHED ULEDI_14_MV”(“PRIEDIENAME”) ;
在“ARMS”上创建位图索引“ARMS”。IDX_CS_ TechNology_14”。PM0023_CIP_SCHED UL_14_MV”(“技术”) ;
代码的解释计划如下所示:
计划散列值: 3494407838
--------------------------------------------
| ID |操作|名称|
--------------------------------------------
| 0 | SELECT语句| |
| 1 |散列分组依据| |
| 2 |外部嵌套循环| |
| 3 |散列连接右外| |
4 |远程| PLM_TECN |
|5 |散列连接右外| |
|6 |远程|更改_MJR |
|7 |散列连接右外| |
| 8 |表格访问已满| GTI_BRION_运行时间|
|9 |散列连接右外| |
| 10 |表格访问已满| GTI_CAL_运行时间|
| 11 |散列连接右外| |
| 12 |表格访问全部| GTI_CAL_运行时间|
| 13 |散列连接右外| |
14 |表格访问全部| GTI_CAL_运行时间|
|15 |散列连接右外| |
16 |表格访问已满| GTI_CAL_运行时间|
17散列连接右外| |
| 18 |表格访问全部| GTI_CAL_运行时间|
19 |散列连接右外| |
| 20 |表格访问已满| GTI_CAL_运行时间|
| 21 |散列连接右外| |
| 22 |表格访问全部| GTI_CAL_运行时间|
23 |散列连接右外| |
| 24 |表格访问全部| GTI_CAL_运行时间|
25 |散列连接右外| |
| 26 |表格访问已满|掩码WIP_HIS RY |
|27 |散列连接右外| |
| 28 |马特_VIEW访问完全| FAB7_FAB1_FAB8_FND_MV |
|29 |马特_VIEW访问完全| PTRF_ tech_14_MV |
|30 |查看| VW_ LT_B5828CA4 |
| 31 |嵌套循环| |
32 |远程|更改_GJR |
浏览| 33次|浏览| |
计数| 34 |
| 35 |连接时不过滤| |
| 36浏览| |
| 37 |排序聚合| |
| 38 |远程|更改_GJR |
--------------------------------------------
连接表区域的索引如下:
- PTRF_ tech_14_MV是一个实例化视图。索引类型: B树索引
技术
视图_PTRF_PTRFNUM
视图_PTRF_MASK层_MSK_ lay
遮罩设置标题
原名
视图_PTRF_MASKYER_MSKYREV
-SVW_GJR_GDSOUTPIN是一个视图
-MashideWIP_HISTRY是一个表: b树索引
设备
面具标题
-是一个同义词
- FAB7_FAB1_FAB8_FND_MV是实例化视图。索引类型: b树
FND掩码
- - SVW_DECOM_操作、SVW_PM_操作、SVW_TARGE_操作、SVW_TARAF_操作、SVW_OPC_操作、SVW_OPC_ORC_操作、, SVW_MONO_OPC_KW_操作、SVW_MPC_操作、GTI_BRION_运行时间和VW为视图
- PLM_TECN是一个同义词
请帮助或建议我如何处理这种情况。
先谢谢你了
专家解答
为了帮助解决性能问题,我们确实需要包含实际行、开始、实际时间和缓冲区获取列的执行计划。
要了解如何获得这些数字,请阅读:
https://blogs.oracle.com/sql/entry/how_to_create_an_execution
从您发布的计划中,我可以看到您有8个GTI_CAL_RuntimeS的全表扫描。我猜这是从风景看出来的。
我希望从查询中删除这些视图,并替换为对GTI_CAL_运行时的单个引用。
如果您需要这方面的帮助,您需要给我们提供视图定义。
没有实际行等。从计划来看我不能说这有多大帮助。但这是个起点。
要了解如何获得这些数字,请阅读:
https://blogs.oracle.com/sql/entry/how_to_create_an_execution
从您发布的计划中,我可以看到您有8个GTI_CAL_RuntimeS的全表扫描。我猜这是从风景看出来的。
我希望从查询中删除这些视图,并替换为对GTI_CAL_运行时的单个引用。
如果您需要这方面的帮助,您需要给我们提供视图定义。
没有实际行等。从计划来看我不能说这有多大帮助。但这是个起点。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




