我在多个内核上运行 R 脚本,它将数据插入到已经包含超过 7 亿行的表中。因为表变得太大,死锁变得很常见,因为我在多个内核上运行相同的脚本更是如此。我一直在尝试使用 TryCatch 解决这些死锁,但无济于事,脚本仍然崩溃,让我重新运行脚本。RMySQL 本身是否有任何功能可以应对死锁,或者是否有人对解决这些死锁的方法有任何建议?
这是我用来尝试避免它的代码,但它绝不是漂亮的(甚至不起作用)。它只是继续尝试插入脚本,直到它工作,但死锁使脚本一起崩溃。
while(done == FALSE){
dberror = tryCatch({
dbSendQuery(con, SQLrs)
done = TRUE
}, dberror = function(e){
print("failed, try again")
})
}