有人可以帮我优化以下查询,因为它需要很长时间才能执行。
我试图摆脱瓶颈并得出表2和表3之间没有连接的分析,我们需要在秩函数中使用表2和表3的列,这会影响性能。悲伤的部分故事是表2和表3之间没有关系而且无法加入。
只是添加,我们可以将表1与表2连接,并且可以将其输出与表3连接(表1引用了表1和表2)
下面是表格结构供参考,希望有所帮助:
col1 =col2_prnt
表2和表3无法连接,我们可以将表1和表2连接为:col1 =col1_prnt or col1 =col2_child.
表1和表3为SELECT Table1.CEASE_DT,
RANK() OVER(PARTITION BY Table1.COL1
ORDER BY
Table1.END_DT DESC,
Table1.LST_DT DESC,
Table2.END_DT DESC,
Table2.LST_DT DESC,
Table3.END_DT DESC,
Table3.LST_DT DESC
NULLS LAST
) AS RANK1
FROM Table1, Table2, Table3
WHERE
( (Table1.COL1=Table2.col1_prnt
AND
Table2.COUNTRY_CD='XX'
)
OR (Table1.COL1=Table3.COL1_CHILD
AND Table3.COUNTRY_CD='XX'
) OR (Table1.COL1=Table3.COL1_PRNT
AND Table3.COUNTRY_CD='XX'
))
UIView.animateWithDuration(0.3) {
self.collectionView.contentOffset = newOffset
self.collectionView.reloadItemsAtIndexPaths(willDisappearIndexPaths)
}