日期:2014-05-17  浏览次数:20384 次

数据库连接问题,求指点...
Statement stmt

stmt.executeUpdate("sql1;sql2...sqln");

for(int i=0; i<sqlList.size(); i++){
    stmt.executeUpdate(sqlList.get(i));
}
在性能上有什么区别?


------最佳解决方案--------------------
这个是java的东西吧- -不适合拿到这问吧
你这个显然是第一性能优越
调用JDBCTM的内部接口,和自己写循环肯定差异大吧

当然你实在要获得详细差异,可以考虑做海量数据在干净环境运行,对比消耗时间

------其他解决方案--------------------
引用:
这个是java的东西吧- -不适合拿到这问吧
你这个显然是第一性能优越
调用JDBCTM的内部接口,和自己写循环肯定差异大吧

当然你实在要获得详细差异,可以考虑做海量数据在干净环境运行,对比消耗时间
++
这样更好
int len=sqlList.size();
for(int i=0; i<len; i++){
  stmt.executeUpdate(sqlList.get(i));
}
------其他解决方案--------------------
上面的打开一次数据库连接来完成,下面的就循环打开数据库连接。我认为上面的好
------其他解决方案--------------------
这个我不是很懂,但是如果你能确保的确只做一次连接的话,我还是觉得上面的好,因为上面一次做完,下面是每次做一个。对于sql,还是尽可能一次做会好
------其他解决方案--------------------
引用:
上面的打开一次数据库连接来完成,下面的就循环打开数据库连接。我认为上面的好

stmt 只是一个连接,只不过在循环的时候没有关闭这个连接,而是在循环完后关闭。