如题,在JSP页面有一段查询语句如下:
sql="select * from T_jitong6 where State!='"+cuo+"' and Hidden!='"+hidden+"' and ReportTime='"+btoday+"' order by JT6ReportID desc";
Connection con=DriverManager.getConnection(url);
PreparedStatement ps1=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=ps1.executeQuery();
while(rs.next()){
String JT6ReportID=rs.getString("JT6ReportID");
jixing1=rs.getString("jixing");
chehao1=rs.getString("chehao");
riqi=rs.getString("ReportTime");
ruku=rs.getString("ComeinTime");
String sss="请求维修";
sql2="select * from T_jitong6ximu where JT6ReportID='"+JT6ReportID+"' and Hidden!='"+hidden+"' and State!='"+sss+"'";
Connection con2=DriverManager.getConnection(url);
PreparedStatement ps2=con2.prepareStatement(sql2,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs2=ps2.executeQuery();
while(rs2.next()){
aa=aa+1;
tiren=rs2.getString("Reporter");
chejian1=rs2.getString("Peishu");
jiaojie=rs2.getString("CheckEndTime");
buwei=rs2.getString("Buwei");
gu=rs2.getString("TroublePhenomenon");
xiushi=rs2.getString("RepairStartTime");
if(xiushi==null) xiushi="";
xiushu=rs2.getString("RepairEndTime");
if(xiushu==null) xiushu="";
cheng=rs2.getString("RepairStatement");
if(cheng==null) cheng="";
ren1=rs2.getString("Repairer1");
if(ren1==null) ren1="";
yanren=rs2.getString("Checker");
if(yanren==null) yanren="";
yanshi=rs2.getString("CheckTime");
if(yanshi==null) yanshi="";
}
rs2.close();
}
rs.close();
SQL查询的结果只有不到100条的数据记录,却执行了一分钟左右。同样的SQL语句我写在VC程序中,只需要几秒钟了。肯定是我查询的写法有问题,
sql="select * from T_jitong6 where State!='"+cuo+"' and Hidden!='"+hidden+"' and ReportTime='"+btoday+"' order by JT6ReportID desc";
Connection con=DriverManager.getConnection(url);
PreparedStatement ps1=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=ps1.executeQuery();
while(rs.next()){
String JT6ReportID=rs.getString("JT6ReportID");
jixing1=rs.getString("jixing");
chehao1=rs.getString("chehao");
riqi=rs.getString("ReportTime");
ruku=rs.getString("ComeinTime");
String sss="请求维修";
sql2="select * from T_jitong6ximu where JT6ReportID='"+JT6ReportID+"' and Hidden!='"+hidden+"' and State!='"+sss+"'";
Connection con2=DriverManager.getConnection(url);
PreparedStatement ps2=con2.prepareStatement(sql2,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs2=ps2.executeQuery();
while(rs2.next()){
aa=aa+1;
tiren=rs2.getString("Reporter");
chejian1=rs2.getString("Peishu");
jiaojie=rs2.getString("CheckEndTime");
buwei=rs2.getString("Buwei");
gu=rs2.getString("TroublePhenomenon");
xiushi=rs2.getString("RepairStartTime");
if(xiushi==null) xiushi="";
xiushu=rs2.getString("RepairEndTime");
if(xiushu==null) xiushu="";
cheng=rs2.getString("RepairStatement");
if(cheng==null) cheng="";
ren1=rs2.getString("Repairer1");
if(ren1==null) ren1="";
yanren=rs2.getString("Checker");
if(yanren==null) yanren="";
yanshi=rs2.getString("CheckTime");
if(yanshi==null) yanshi="";
}
rs2.close();
}
rs.close();
SQL查询的结果只有不到100条的数据记录,却执行了一分钟左右。同样的SQL语句我写在VC程序中,只需要几秒钟了。肯定是我查询的写法有问题,
解决方案 »
- 这段代码为什么会显示alert(5);如何按原有意图显示alert(0)~alert(4);
- 关于js实现保存文件对话框的问题
- 奇怪的js报错。
- 还是不行!!!关于window.location.hash='anchor'在firefox中的运行。
- url地址栏中传返回地址,后台不能正确读取,怎么处理?
- 关于得到焦点的控件的类型如何判断?请较大家了
- 在线求助!小弟不胜感激!!!!
- 求证EasyUI的执行效率
- touchmove事件event.pageY取值为undefined求高手
- Bootstrap-Table实现前端的Table 用URL接收JSP的JSON数据,显示匹配不到
- 数组长度问题
- JSP可编辑的下拉菜单第一项不能选中
re:
VC能和java一样么?真不知你VC怎么学的.sql="select * from T_jitong6 where State !=? and Hidden !=? and ReportTime =? order by JT6ReportID desc";
Connection con=DriverManager.getConnection(url);
PreparedStatement ps1=con.prepareStatement(sql);
ps1.setString(1,cuo);
ps1.setString(2,hidden);
ps1.setString(3,btoday);ResultSet rs=ps1.executeQuery();
while(rs.next()){
String JT6ReportID=rs.getString("JT6ReportID");
String jixing1=rs.getString("jixing");
String chehao1=rs.getString("chehao");
String riqi=rs.getString("ReportTime");
String ruku=rs.getString("ComeinTime");
String sss="请求维修";
//最好用对象,剩下的自已改吧
用了大侠的方法,可是速度还是很慢,后来自己发现加上.trim() 速度明显变快很多,可是我数据库中有很多导过来的历史数据是null值,使用。trim()会报错,不知道该怎么办了?