sql 性能问题

[复制链接]
查看11 | 回复1 | 2008-11-12 15:23:54 | 显示全部楼层 |阅读模式
SELECT A.END_DATE,
B.FUND_CODE,
'2',
B.DATA_TYPE,
B.PARAM_1,
SUM(LN(B.YIELD_RATE + 1)) - 1
FROM RISK.TB_GUD_RATE B, RISK.TMP_TMP A
WHERE B.TRADEDATE BETWEEN A.BEGIN_DATE AND A.END_DATE
AND A.TIME_WINDOW = '2'
AND B.DATA_TYPE IN (0, 1, 2, 7)
AND B.TIME_WINDOW = '1'
GROUP BY A.END_DATE, B.FUND_CODE, B.DATA_TYPE, B.PARAM_1
这句SQL执行N久没出来,但换了个函数,LN换成SIN
SELECT A.END_DATE,
B.FUND_CODE,
'2',
B.DATA_TYPE,
B.PARAM_1,
SUM(SIN(B.YIELD_RATE + 1)) - 1
FROM RISK.TB_GUD_RATE B, RISK.TMP_TMP A
WHERE B.TRADEDATE BETWEEN A.BEGIN_DATE AND A.END_DATE
AND A.TIME_WINDOW = '2'
AND B.DATA_TYPE IN (0, 1, 2, 7)
AND B.TIME_WINDOW = '1'
GROUP BY A.END_DATE, B.FUND_CODE, B.DATA_TYPE, B.PARAM_1
0.7秒返回结果。各位大大给下分析结果谢谢。
SELECT STATEMENT, GOAL = CHOOSE
154
1035
53820
SORT GROUP BY
154
1035
53820
MERGE JOIN
142
1035
53820
SORT JOIN
7
30
600
TABLE ACCESS FULL
RISK
TMP_08040170TMP
2
30
600
FILTER

SORT JOIN

TABLE ACCESS FULL
RISK
TB_GUD_COMB_FUND_RATE
50
13800
441600
回复

使用道具 举报

千问 | 2008-11-12 15:23:54 | 显示全部楼层
是不是LN这个函数造成问题呢?
SELECT COUNT(1) FROM risk.TB_GUD_RATE b-- 96598
SELECT COUNT(1) FROM RISK.TMP_TMP -- 150
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行