【发布时间】:2019-03-08 06:15:45
【问题描述】:
我有 1 个本地表(除了一个之外,所有列名都与远程表不同)和 2 个远程表(具有相同的列名),我需要为其合并数据。
以下是我使用 LEFT OUTER JOIN 和 UNION 编写的查询,但性能很慢。
谁能帮助优化这个查询?
select
"CONTROL_M_SERVER",
"HOST",
CASE
WHEN "AGSTAT" = 'V' THEN 'Available'
WHEN "AGSTAT" = 'U' THEN 'Unavailable'
WHEN "AGSTAT" = 'R' THEN 'Discovering'
ELSE 'Not Defined in Control-M'
END as Agent_Status,
T1.VERSION,
"PORTS",
"MANAGEMENT_IP",
"OPERATING_SYSTEM",
"CLUSTER_ALIAS",
"NODEGROUP",
"APPLICATION_ID",
"DATE_CONFIGURED",
"CONFIGURED_BY"
from "CTMAGENTAUDIT" T1
left outer join (select NODEID,AGSTAT from CMR_NODES@SPDB UNION ALL select NODEID,AGSTAT from CMR_NODES@DEVDB) T2 on T2.NODEID = T1.HOST;
【问题讨论】:
-
左对齐 SQL 太难读了...