这是一段递归代码
public string obtainPartNumberInfo ( string leftobid ) { 省略…… stmt1 = con.createStatement();
Sql1 = "select /*+RULE*/ CLASS2,RIGHTID from PDMM31A.ASSMSTRC where LEFTID='"+leftobid+"'" ;
rs1 = stmt1.executeQuery( Sql1 ) ; stmt2 = con.createStatement();
Sql2 = "select PARTNUMBER from PDMM31A."+ rs1.getString( "CLASS2" ) + " where OBID='"+rs1.getString("RIGHTID")+"'" ;
rs2 = stmt2.executeQuery( Sql2 ); if( rs.getString( "CLASS2" ).equals( "W2ProMtr" ) ) String tableName = "W2PRODCT";
if( rs.getString( "CLASS2" ).equals( "W2AsmMtr" ) ) String tableName = "W2ASSM"; stmt3 = con.createStatement();
Sql3 = "select OBID from PDMM31A."+ tableName +" where PARTNUMBER='"+rs2.getString( "PARTNUMBER" )+"'" ;
rs3 = stmt3.executeQuery( Sql3 ); obid = rs3.getString( "OBID" ) 省略…… obtainPartNumberInfo( obid ) }
这段代码执行行来非常非常的慢,请朋友们帮我分析一下,终究慢在哪里
public string obtainPartNumberInfo ( string leftobid ) { 省略…… stmt1 = con.createStatement();
Sql1 = "select /*+RULE*/ CLASS2,RIGHTID from PDMM31A.ASSMSTRC where LEFTID='"+leftobid+"'" ;
rs1 = stmt1.executeQuery( Sql1 ) ; stmt2 = con.createStatement();
Sql2 = "select PARTNUMBER from PDMM31A."+ rs1.getString( "CLASS2" ) + " where OBID='"+rs1.getString("RIGHTID")+"'" ;
rs2 = stmt2.executeQuery( Sql2 ); if( rs.getString( "CLASS2" ).equals( "W2ProMtr" ) ) String tableName = "W2PRODCT";
if( rs.getString( "CLASS2" ).equals( "W2AsmMtr" ) ) String tableName = "W2ASSM"; stmt3 = con.createStatement();
Sql3 = "select OBID from PDMM31A."+ tableName +" where PARTNUMBER='"+rs2.getString( "PARTNUMBER" )+"'" ;
rs3 = stmt3.executeQuery( Sql3 ); obid = rs3.getString( "OBID" ) 省略…… obtainPartNumberInfo( obid ) }
这段代码执行行来非常非常的慢,请朋友们帮我分析一下,终究慢在哪里
解决方案 »
- 新手求助
- 关于union all和order by 同用的问题
- 一个很急的问题:sql语句中的位与运算好像oracle可以用bitand实现,但是位或怎么实现?我用了UTL_RAW.BIT_OR('0','0')怎么说参数不对!
- 我在导出用户时出现下列错误,请问如何解决,EXP-00056: 遇到 ORACLE 错误 600
- 关于连接池
- 在oracle10中,要进行建表之类的操作是不是一定要安装client端??请各位给指跳道,在线========
- 为什么我的Oracle连接不上?
- 怎样选取出小数点后的位数大于3的数据
- 求助!pro*c问题!!
- oracle form 开发前景怎么样
- 从WE8ISO8859P1字符集查出来的时间没有时分秒
- 有关oracle的order by语句中使用decode的问题
现在一般情况下,走CBO会快点