小编Nic*_*Nic的帖子

提高性能:Oracle SQL Join 非常慢

我是 SQL 查询的新手,我花了 3 小时来获得加入 2 个查询的全部结果。我一直专注于使用左连接,并在研究后避免在 select 语句上使用子查询。然而,它仍然非常缓慢。我没有足够了解 sql 的亲密朋友来解释什么是错的,或者我应该采取什么方法。我也是新来的,所以如果不允许这个问题,请通知我,我会立即删除它。

这是查询的结构... 第一个查询将获取成员详细信息。第二个查询将获取交易详细信息。关系是,一个产品有许多子计划,这些子计划有很多成员。一种产品也有许多交易,这些交易是基于每个产品进行的。我需要显示所有交易并为每个成员复制每一行。我使用产品主键加入了查询。在加入之前,我测试了两个单独的查询,结果很好。只有 1-2 秒,我得到了结果。但是加入这两个,我最终等待了 3 个小时。

SELECT
MPPFF.N_DX,
MPPFF.PM_A_P,
MPPFF.FEE1,
MPPFF.FEE2,
MPPFF.FEE3,
MPPFF.FEE4,
MPPFF.FEE11,
MPPFF.FEE12,
MPPFF.FEE5,
MPPFF.N_NO,
MPPFF.SETN_DX,
MPPFF.PRIME_NO,
MPPFF.SECN_NO,
MPPFF.COMM_A,
MPPFF.TYX_NO,
MPPFF.P_NAME,
MPPFF.B_BFX,
MPPFF.B_FM,
MPPFF.B_TO,
MPPFF.BB_NAME_P,
MPPFF.BB_NAME_S,
MPPFF.REVERSE_BFX,
MPPFF.TYX_REF_NO,
MPPFF.BB_NO_AX,
MPPFF.BB_NAME_AX,
MPPFF.DXC,
MPPFF.ST,
MPPFF.DAY,
MPPFF.CE_D_PRODUCT,
MPPFF.CE_H,
MPPFF.AS_C_E,
MPPFF.BCH,
MPPFF.RCPY_NO,
MPPFF.RE_BFX,
MPPFF.A_END,
MPPFF.PLACE,
MPPFF.MEMB_DX,
MPPFF.MBR_NO,
MPPFF.MBR_TR_BFX,
MPPFF.CE_D_TERM_CE,
MPPFF.MEMBER_AS,
MPPFF.C_USER,
MPPFF.C_BFX,
MPPFF.U_USER,
MPPFF.U_BFX

FROM (
        SELECT
        FF.N_DX,
        FF.PM_A_P,
        FF.FEE1,
        FF.FEE2,
        FF.FEE3,
        FF.FEE4,
        FF.FEE11,
        FF.FEE12,
        FF.FEE5,
        FF.N_NO,
        FF.SETN_DX,
        FF.PRIME_NO,
        FF.SECN_NO,
        FF.COMM_A, …
Run Code Online (Sandbox Code Playgroud)

sql oracle performance join

1
推荐指数
1
解决办法
9934
查看次数

标签 统计

join ×1

oracle ×1

performance ×1

sql ×1