public string obtainPartNumberInfo ( string leftobid ) { 省略…… stmt1 = con.createStatement(); 
Sql1 = "select TABLE1,RIGHTID from PDMM31A.ASSMSTRC where LEFTID='"+leftobid+"'" ; 
rs1 = stmt1.executeQuery( Sql1 ) ; stmt2 = con.createStatement(); 
Sql2 = "select PARTNUMBER,TABLE2 from PDMM31A."+ rs1.getString( "TABLE1" ) + " where OBID='"+rs1.getString("RIGHTID")+"'" ; 
rs2 = stmt2.executeQuery( Sql2 ); stmt3 = con.createStatement(); 
Sql3 = "select * from PDMM31A."+ rs2.getString( "TABLE2" ) +" where PARTNUMBER='"+rs2.getString( "PARTNUMBER" )+"'" ; 
rs3 = stmt3.executeQuery( Sql3 ); obid = rs3.getString( "OBID" ) 省略…… obtainPartNumberInfo( obid ) } 
/** 
* 1、我用的是Oracle数据库,其中的PDMM31A为数据库实例,ASSMSTRC为实例中的一个表 
* 2、ASSMSTRC表大约有20万条记录,TABLE1和TABLE2中各有几万条记录 
* 3、退出条件省略没有写,一般情况,这个函数都会调用上千次 
*/ 
跪求朋友帮忙指点这段SQL语句应该如何优化,像我现在这样写简直是太慢了,请问我应该如何改写这几条查询语句才能有效的提高查询效率呢? 
请朋友帮我改写一下,另外,像我这么写为什么会慢我想知道原因,这段代码对我非常重要,请高手一定要帮帮我,十万分的感谢!