2017-08-01 46 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

回答