遇到一个比较奇怪的问题,测试环境和生产环境上执行相同的SQL语句:
select A.TRAN_ID, A.RISKTYPE,A.TRAN_DATE, A.TRAN_TIME, A.BK, A.BR,
A.PRE_SEQUENCE_ID , A.TLT, B.AC, A.CI_NAME, A.SEQUENCE_ID,
B.TRAN_DATE as RS_TRAN_DATE, B.TRAN_TIME as RS_TRAN_TIME, B.TRAN_CODE
as RE_TRAN_CODE, B.CCY as RE_TRAN_CCY, B.AMT as RE_TRAN_AMT, B.TLT as
RE_TRAN_TLT, A.PROC_FLAG, A.SUP
from AORMS.ARMS_sp20001 A left join AORMS.ARMS_RESOURCE_TRAN B on
A.PRE_SEQUENCE_ID=B.SEQUENCE_ID and A.TRAN_DATE=B.TRAN_DATE
针对查询条件两表都建立了复合索引
测试环境上的用到了索引,见附件aqtout_test.txt的分析结果
生产环境上不能用到ARMS_RESOURCE_TRAN表的索引,见附件aqtout_product.txt的分析结果
烦请各位帮忙分析分析可能存在的原因,谢谢~~
|