我写了一个存储过程,过程在数据库中的执行效率很高,一眨眼的功夫,数据大概在200万左右。
一开始写程序代码调用该过程,效率很高,不会超过1秒,这让我高兴了一段时间,但是没过多久,也就5个小时以后,myeclipse死了一次,我把他强制关闭了,然后报了一个错,没在意,接着我过程修改了一下,发现速度变慢了,于是我又还原,在数据库的执行效率还是一样的,但运行程序,结果让我大跌眼镜,又原来的两三百毫秒到了现在的一千多毫秒,效率慢了几倍,郁闷的是,情况没有在好转,我以为是过程的问题,于是修改了好多次,但在数据库中过程的执行效率没有变化,程序却慢了。我想到过配置文件,但检查一下,没什么不对。不知各位大虾有没有遇到这样的问题,请多多指教,也可以加Q:735474224 交流
以下是程序代码:return template.executeFind(new HibernateCallback<List<String>>(){      public List<String> doInHibernate(Session session)throws HibernateException, SQLException {
Connection conn = session.connection();
CallableStatement cstmt = conn.prepareCall("{call autocomplete(?)}");
cstmt.setString(1, queryParam+"%"); ResultSet rs = cstmt.executeQuery();//执行到此处的时候基本上会卡一秒
 
List<String> list = new ArrayList<String>();
while(rs.next()){
list.add(rs.getString("simplequery"));
}
rs.close();
cstmt.close();
conn.close();
return list;
      }});