【发布时间】:2018-08-18 10:07:00
【问题描述】:
我有一个 Django 项目,它使用 MySQL v5.5 后端和 InnoDB 存储。
为了避免数据库中的竞争条件更新,我使用 select_for_update 来锁定行。
现在,如果此锁保持很长时间,对锁定行的任何查询都将超时。
我想通过以下选项之一来避免这种情况:
- 跳过被锁定的行,类似于
SKIP LOCKED选项。 - 如果您查询的某些行被锁定,则立即返回,类似于
NOWAIT选项。 - 减少特定查询的锁定等待超时时间。
如何使用 Django ORM 执行这些操作?
【问题讨论】:
标签: mysql django pessimistic-locking