我有几个表,我试图将它们与以下查询结合起来。我正在使用以下表格:
LoanOrigination
:这包含贷款特征,例如资产价值、贷款期限等。每笔贷款有一个独特的观察。该表在LOAN_ID
、SUB_SAMPLE
和上建立索引COLLATERAL_TYPE
。LoanPerformance
:这包含了所有贷款的表现LoanOrigination
。每一行是一个独特的MONTHLY_REPORTING_PERIOD
和LOAN_ID
组合,并且该表已被索引两个。CollateralData
:这包含基于COLLATERAL_TYPE
. 这样做的目的是估计贷款对抵押品的当前价值。下面查询的目的是组合这些表,以便每一行都包含贷款特征以及当月和下个月的拖欠状态。但是,查询速度非常慢。有什么办法可以加快速度吗?
with
COLLATERAL_VALUES as (
select
COLLATERAL_TYPE,
dateadd( day, 1-day(AsOfDate), AsOfDate) as ASOFDATE,
Value as INDEX
from LoanData.CollateralData
),
SAMPLE_LOANS as (
select
a.*,
b.INDEX as INDEX_T0
from LoanData.LoanOrigination a
join COLLATERAL_VALUES b on b.ASOFDATE = a.ORIG_DATE and b.COLLATERAL_TYPE = a.COLLATERAL_TYPE
where SUB_SAMPLE = 0
),
LOAN_STATE as (
select
a.LOAN_ID,
MONTHLY_REPORTING_PERIOD AS CUR_DATE,
CURRENT_ACTUAL_UPB as CUR_UPB,
LOAN_AGE, …
Run Code Online (Sandbox Code Playgroud)