Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在java中提交mysql需要这么长时间?_Java_Transactions - Fatal编程技术网

为什么在java中提交mysql需要这么长时间?

为什么在java中提交mysql需要这么长时间?,java,transactions,Java,Transactions,我正在尝试用java执行以下代码: void方法(连接连接){ //不进行自动提交 连接设置自动提交(错误); //创建一个保存点以防回滚 保存点=连接设置保存点(); 试一试{ //对数据库做些什么 }捕获(例外e){ System.out.println(“[ERROR]出了问题,所以正在回滚…”); 连接回滚(点); 返回; } //如果一切正常,请执行提交 System.out.println(“[INFO]一切正常…”); conn.commit();//问题行 } 现在,问题是最后

我正在尝试用java执行以下代码:

void方法(连接连接){
//不进行自动提交
连接设置自动提交(错误);
//创建一个保存点以防回滚
保存点=连接设置保存点();
试一试{
//对数据库做些什么
}捕获(例外e){
System.out.println(“[ERROR]出了问题,所以正在回滚…”);
连接回滚(点);
返回;
}
//如果一切正常,请执行提交
System.out.println(“[INFO]一切正常…”);
conn.commit();//问题行
}
现在,问题是最后一行-对try中数据库的所有查询都可以正常工作,但提交似乎会暂停-它会停止程序,仅此而已。什么可能导致事务提交延迟

有趣的是,我的同事似乎在他的机器上很好地运行了我的代码(我们都安装了Java6),那么我的机器上可能出了什么问题


“更新”。事实证明这不是mysql的问题,在调用此方法之前实例化连接有问题。所以问题应该结束了,我想我会看看在MySQL上提交数据需要多长时间。尝试通过另一种方式(比如GUI)来执行相同的SQL。我想延迟的原因是这个方法之外的一些地方。要确保这一点,只需设置autocommit(true),并删除提交部分,然后检查它是否更改了任何内容!,否则我们需要调用此方法的代码部分!它是远程数据库还是在同一台机器上?Fildor,它在同一台机器上如果不创建保存点会发生什么?否则,我会看到事务需要很长时间提交(除了缓慢的网络连接)的唯一原因是当事务实际上是巨大的,并且有很多更改时。