我正在多个核心上运行一个R脚本,它将数据插入到已经拥有超过700米行的表中。由于表变得过大,因此死锁正在变得越来越普遍,因为我在多个核心上运行相同的脚本。我一直在尝试使用TryCatch解决这些死锁,但无济于事,脚本仍然崩溃,让我重新运行脚本。在RMySQL中是否有任何函数可以解决死锁问题,或者有没有人对解决这些死锁的方法有任何建议?
这是我用来尝试避免它的代码,但它绝不漂亮(甚至不起作用)。它只是继续尝试插入脚本直到它工作,但死锁一直崩溃了脚本。
while(done == FALSE){
dberror = tryCatch({
dbSendQuery(con, SQLrs)
done = TRUE
}, dberror = function(e){
print("failed, try again")
})
}
答案 0 :(得分:0)
抱歉,我的问题有点晚了,但我遇到了类似的问题,并且可以通过调整SQL中的MySQL超时来解决问题。我不认为你可以通过RMySQL做任何事情。有关如何调整MySQL connect_timeout的信息,请参阅this Stackoverflow post。