MySQL SQL 优化案例:JOIN派生表

本文通过具体的MySQL SQL查询案例,深入探讨了在遇到JOIN操作时如何利用派生表进行性能优化,揭示了派生表在复杂查询中的优化策略,并提供了解决高延迟查询的有效方法。
摘要由CSDN通过智能技术生成
优化之前:
SELECT
  ap.institution_id,
  date(ra.create_time) date,
  sum(

    IF (
      ra.confirm_amount > ld.debit_amount,
      ld.debit_amount,
      ra.confirm_amount
    )
  ) return_amount,
  count(ra.confirm_amount) return_count
FROM
  t_asset_package ap
JOIN (
  SELECT
    asset_package_id,
    institution_id,
    loan_document_id,
    debit_amount
  FROM
    t_loan_details
  WHERE
    is_all_paid = 1
  OR principal_paid = 1
) ld ON ap.asset_package_id = ld.asset_package_id
JOIN (
  SELECT
    loan_document_id,
    sum(confirm_amount) confirm_amount,
    create_time
  FROM
    t_return_application
  GROUP BY
    loan_document_id
) ra ON ld.loan_document_id = ra.loan_document_id
WHERE
  ap.institution_id = 'C0000012413'
AND ap.delete_flag = 0
GROUP BY
  date(ra.create_time)
ORDER BY
  date;

执行计划:

+----+---------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值