2017-08-01 83 views
1

我有一个DBI perl脚本,在一个序列中的MySQL数据库的多个表上执行各种DML操作。Perl DBI - 并行事务

我在我的perl脚本中使用dbh->begin_workeval实施了交易。现在,我运行一次脚本,之后再次运行脚本,从而向我的数据库启动两个事务。到那时,我第二次运行脚本,第一个事务已经在第五个表上完成了操作,但是我的第二个事务即使在第一个表上也等待操作。

我可以让脚本并行执行,这样第二个事务就可以在第一个事务处理之前对第一个表执行操作吗?

+0

不以交易方式...您的第二笔交易不应读取尚未提交的数据*。如果您的隔离级别是[* read uncommitted *](https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html#isolevel_read-uncommitted),您可能会做一些事情。我不会。 – joanolo

+0

*“我使用'dbh-> begin_work'和'eval'在我的perl脚本中实现了交易。”*它更加清洁,禁用'RaiseError'并检查每个操作的返回状态。 – Borodin

回答