MERGE INTO TTPVMS200 A
USING (
SELECT b.COM_CD, b.TIC_LINK_ID, b.PROC_BASE_DTM, b.AREA_CD, DECODE(b.OP_CNGS_LVL_CD, '0', b.TRVL_SPD, b.OP_TRVL_SPD) TRVL_SPD,
DECODE(DECODE(b.OP_CNGS_LVL_CD, '0', b.TRVL_SPD, b.OP_TRVL_SPD), 0, 0,
CASE WHEN (ROUND((b.TRVL_DIST / (DECODE(b.OP_CNGS_LVL_CD, '0', b.TRVL_SPD, b.OP_TRVL_SPD) * y.WGHTDIST))*y.WGHTTIME,0) < 99999)
THEN ROUND((b.TRVL_DIST / (DECODE(b.OP_CNGS_LVL_CD, '0', b.TRVL_SPD, b.OP_TRVL_SPD) * y.WGHTDIST))*y.WGHTTIME,0)
ELSE 99999
END ) TRVL_TM,
b.TRVL_DIST,
DECODE(b.OP_CNGS_LVL_CD, '0', b.CNGS_LVL_CD, b.OP_CNGS_LVL_CD) CNGS_LVL_CD, b.PATT_TRVL_SPD, b.PATT_TRVL_TM, b.PATT_CNGS_LVL_CD, b.AREA_BASE_DTM
FROM
TTPCMS200 b,
(
SELECT CASE WHEN x.SRC_DIST = x.TGT_DIST
THEN 1
ELSE ( SELECT WGHT_CONV
FROM TCMNCD011
WHERE UNIT_TYPE_CD = 'CMN05'
AND SRC_UNIT_CD = x.SRC_DIST
AND TGT_UNIT_CD = x.TGT_DIST )
END WGHTDIST,
CASE WHEN x.SRC_TIME = x.TGT_TIME
THEN 1
ELSE ( SELECT WGHT_CONV
FROM TCMNCD011
WHERE UNIT_TYPE_CD = 'CMN07'
AND SRC_UNIT_CD = x.SRC_TIME
AND TGT_UNIT_CD = x.TGT_TIME )
END WGHTTIME
FROM
(
SELECT a.SPD_UNIT_CD, b.CODE_PARAM_VAL1 SRC_DIST, a.DIST_UNIT_CD TGT_DIST,
b.CODE_PARAM_VAL2 SRC_TIME, a.TM_UNIT_CD TGT_TIME
FROM TTMNMS001 a, TCMNCD002 b
WHERE a.COM_CD = 'TIC0'
AND a.COM_DEF_CD = '00'
AND b.CATG_CD = 'CMN06'
AND a.SPD_UNIT_CD = b.COMN_CD
) x
) y
WHERE
b.PROC_BASE_DTM = #procBaseDtm#
AND
b.AREA_CD = CASE WHEN #areaCd# IS NULL THEN b.AREA_CD ELSE #areaCd# END
) B
ON (
A.COM_CD = B.COM_CD
AND
A.TIC_LINK_ID = B.TIC_LINK_ID
)
WHEN NOT MATCHED THEN
INSERT(
A.TIC_LINK_ID, A.COM_CD, A.PROC_BASE_DTM, A.AREA_CD, A.TRVL_SPD,
A.TRVL_TM, A.TRVL_DIST,
A.CNGS_LVL_CD, A.PATT_TRVL_SPD, A.PATT_TRVL_TM, A.PATT_CNGS_LVL_CD, A.AREA_BASE_DTM
)
VALUES (
B.TIC_LINK_ID, B.COM_CD, B.PROC_BASE_DTM, B.AREA_CD, B.TRVL_SPD,
B.TRVL_TM,
B.TRVL_DIST,
B.CNGS_LVL_CD, B.PATT_TRVL_SPD, B.PATT_TRVL_TM, B.PATT_CNGS_LVL_CD, B.AREA_BASE_DTM
)
WHEN MATCHED THEN
UPDATE SET
A.PROC_BASE_DTM = B.PROC_BASE_DTM,
A.AREA_CD = B.AREA_CD,
A.TRVL_SPD = B.TRVL_SPD,
A.TRVL_TM = B.TRVL_TM,
A.TRVL_DIST = B.TRVL_DIST,
A.CNGS_LVL_CD = B.CNGS_LVL_CD,
A.PATT_TRVL_SPD = B.PATT_TRVL_SPD,
A.PATT_TRVL_TM = B.PATT_TRVL_TM,
A.PATT_CNGS_LVL_CD = B.PATT_CNGS_LVL_CD,
A.AREA_BASE_DTM = B.AREA_BASE_DTM
]]>
不知道怎么优化提高效率,本人想把子查询转换成内连接或者用一种方式提高效率。
最好少用Select来完成结果。
请高手来帮忙!
分享到:
相关推荐
为了不重复解析相同的 SQL 语句,在第一次解析之后,ORACLE 将 SQL 语句存放在内存中。这块位于系统全局区域 SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享。因此,...
Oracle SQL 优化 Oracle SQL 优化是数据库性能优化的关键部分。为了提高数据库的性能,我们需要从五个方面进行调整:去掉不必要的大型表的全表扫描、缓存小型表的全表扫描、检验优化索引的使用、检验优化的连接技术...
Oracle SQL 性能优化 Oracle SQL 性能优化是数据库管理中非常重要的一环。通过对 SQL 语句执行的过程、Oracle 优化器、表之间的关联、如何得到 SQL 执行计划、如何分析执行计划等内容的讨论,可以逐步掌握 SQL ...
基于Oracle的SQL优化
### ORACLE-SQL性能优化大全知识点详述 #### 一、优化基础知识概述 - **性能管理**: - **尽早开始**:性能优化应该在项目的早期就开始考虑,而不是等到后期出现性能瓶颈时才去处理。 - **设立合适目标**:设定...
oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...
【Oracle SQL性能优化】 Oracle SQL性能优化是数据库开发人员必须掌握的关键技能,它涉及到SQL语句的编写、执行过程、优化器的选择以及执行计划的分析等多个方面。在Oracle数据库环境中,优化SQL性能对于提升系统...
深入揭示OracleSQL优化与调优的原理、核心技术与思想方法 盖国强鼎力推荐! Oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是SQL性能问题。本书是作者十年磨一剑的成果之一...
5. **模拟测试**:在不影响生产环境的前提下,通过模拟不同负载条件来测试SQL优化的效果。 6. **自动化优化**:对于一些常见性能问题,工具可能具备自动优化功能,例如自动添加索引、调整统计信息等。 在Oracle...
Oracle SQL语句性能优化是数据库管理中的关键环节,直接影响到系统的响应速度和资源利用效率。本文将详细探讨优化Oracle SQL语句的几个核心策略。 1. 选择合适的优化器 Oracle 提供了三种优化器:RULE(基于规则)...
主要讲述oracle sql 的开发以及优化,对低效率的sql的优化方法和诊断技巧
Oracle数据库的高性能SQL优化是数据库管理员和开发人员关注的关键领域,因为它直接影响到系统的响应时间和整体性能。Oracle性能管理是一个持续的过程,包括主动和被动两个方面。主动性能管理强调在系统设计和开发...
ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm
Oracle SQL性能优化是数据库管理中的重要环节,旨在提高SQL查询的效率,减少资源消耗,提升系统整体性能。本文主要从三个方面介绍Oracle SQL性能优化的基本策略。 1. **选择合适的优化器** ORACLE提供了三种优化器...
4. **游标**:Oracle SQL支持游标,MySQL则不直接支持,需要使用存储过程或临时表来实现类似功能。 5. **函数和操作符**:两者内置的函数和操作符有所不同,例如Oracle的NVL对应MySQL的IFNULL,Oracle的TO_DATE对应...
根据提供的文件信息,本文将对《基于Oracle的SQL优化》这一主题进行深入解析,包括但不限于SQL优化的重要性、Oracle数据库的特点以及具体的SQL优化方法等。 ### SQL优化的重要性 SQL(Structured Query Language)...
在Oracle数据库环境中,SQL优化是提升系统性能的关键环节。它涉及到如何有效地检索数据,减少查询时间,减轻数据库服务器的负载,以及改善整体系统的响应速度。本文将深入探讨Oracle SQL优化的相关知识点,帮助你...
基于Oracle的SQL优化