我最近在 django 中使用大型 MySQL 数据库时遇到了一些问题,MySQL 似乎遇到了死锁问题。
我不断收到错误:
(1213, 'Deadlock found when trying to get lock; try restarting transaction')
通常这似乎发生在为新模型实例(例如)调用保存或创建函数时。
payment = Payment.objects.create(
to_member=to_member,
to_name="%s" % to_member.username,
from_member=from_member,
from_name="%s" % from_member.username,
description="Resubscription",
type='resubscription',
amount=5.00,
currency=from_member,
processor='e-wallet'
)
我试图插入的特定表有大约 310 万行,大小为 2.2 GB。
在生产中,该应用程序有相当多的活跃用户(会员)。Payment 模型有两个特定的外键(to_creator 和 from_member)。所以我想知道这是否可能是问题的原因,而不仅仅是支付模型?
我已经尝试调整 mysql 配置的各个方面来管理它,但我似乎要么遇到更多死锁,要么整个系统都锁定了!
以下是我当前的锁设置:
任何帮助将不胜感激。在过去的几天里,我一直在为此烦恼。
担