我有一个Django项目,它使用MySQL v5.5后端和InnoDB存储。
为了避免数据库中的竞争条件更新,我使用 select_for_update 来锁定行。现在如果这个锁保持很长时间,任何对锁定行的查询都会超时。
我想通过以下选项之一避免这种情况:
- 跳过锁定的行,类似于
SKIP LOCKED
选项。 - 如果您正在查询的某些行被锁定,则立即返回,类似于
NOWAIT
option。 - 减少特定查询的锁定等待超时时间。
如何使用 Django ORM 执行这些操作?
我有一个Django项目,它使用MySQL v5.5后端和InnoDB存储。
为了避免数据库中的竞争条件更新,我使用 select_for_update 来锁定行。现在如果这个锁保持很长时间,任何对锁定行的查询都会超时。
我想通过以下选项之一避免这种情况:
SKIP LOCKED
选项。NOWAIT
option。如何使用 Django ORM 执行这些操作?