数据库中的数据量比较大,在做如下事务处理的时候发现速度奇慢。求改进方案得到HashMap;//这个HashMap从数据库中读取数据填充,填充效率很高set<Entry<...>> set_hm=HashMap.entrySet();
//然后循环遍历这个set_hm
for<Entry<...>me:set_hm>{
// 遍历得到key和value赋值给PreparedStatement的set参数,比如:
ps.setInt(1,me.getKey());
//然后执行数据库查询操作,返回resultset
ResultSet rs=ps.executeQuery();//我试过在这个for循环里不加sql查询,直接遍历一下hashmap的元素,效率很高,秒杀,但只要一加这个查询,速度一下子下来。请问有什么方法来解决这个问题
}
//然后循环遍历这个set_hm
for<Entry<...>me:set_hm>{
// 遍历得到key和value赋值给PreparedStatement的set参数,比如:
ps.setInt(1,me.getKey());
//然后执行数据库查询操作,返回resultset
ResultSet rs=ps.executeQuery();//我试过在这个for循环里不加sql查询,直接遍历一下hashmap的元素,效率很高,秒杀,但只要一加这个查询,速度一下子下来。请问有什么方法来解决这个问题
}
但一次从数据库取很多值回来,再查会是个好注意.
4 点了??????钟没有错吧,发帖时是上午 11:17。
在你的循环里
{
...
ps.setInt(1,me.getKey());
ps.addBath();
}
最后提交
ps.executeBath();
...
对于查寻,因为要返回只能考虑下连接池了,oracle...
这位兄弟说的也对,用空间换时间!
然后再一起插入?