【发布时间】:2019-02-09 02:49:45
【问题描述】:
我有一个包含四个连接的查询,这需要相当长的时间来执行。有没有办法优化查询?我尝试在联接中包含较小的 PORTFOLIO 表以尝试加快进程。
SELECT
A.*
, B.REPORTING_PERIOD
, D.HPI AS CURRENT_HPI
, E.USSWAP10
, B.DLQ_STATUS AS CURRENT_STATUS
, C.DLQ_STATUS AS NEXT_STATUS
FROM PORTFOLIO A
JOIN ALL_PERFORMANCE B ON
A.AGENCY = B.AGENCY
AND A.LOAN_ID = B.LOAN_ID
JOIN ALL_PERFORMANCE C ON
A.AGENCY = C.AGENCY
AND A.LOAN_ID = C.LOAN_ID
AND DATEADD(MONTH, 1, B.REPORTING_PERIOD) = C.REPORTING_PERIOD
LEFT JOIN CASE_SHILLER D ON
A.GEO_CODE = D.GEO_CODE
AND B.REPORTING_PERIOD = D.AS_OF_DATE
LEFT JOIN SWAP_10Y E ON
B.REPORTING_PERIOD = E.AS_OF_DATE
【问题讨论】:
-
查看你的表格一个控件,设置了哪些索引。
-
欢迎来到 StackOverflow!一些信息将很有用:a) 数据库系统及其版本,b) 表定义,c) 数据示例。请阅读How to create a Minimal, Complete, and Verifiable example 以获得灵感。帮助社区为您提供帮助
标签: sql performance