gpt4 book ai didi

mysql - 如何使用 Django 在 MySQL 上使用 SKIP LOCKED 执行 SELECT FOR UPDATE

转载 作者:行者123 更新时间:2023-12-04 21:32:03 25 4
gpt4 key购买 nike

我有一个 Django 使用 的项目MySQL v5.5 带有 的后端InnoDB 贮存。
为了避免数据库中的竞争条件更新,我使用 select_for_update 来锁定行。
现在如果这个锁保持很长时间,任何对锁定行的查询都会超时。
我想通过以下选项之一避免这种情况:

  • 跳过被锁定的行,类似于 SKIP LOCKED选项。
  • 如果您正在查询的某些行被锁定,则立即返回,类似于 NOWAIT选项。
  • 减少特定查询的锁定等待超时时间。

  • 如何使用 Django ORM 执行这些操作?

    最佳答案

    来自 Django docs :

    You can also ignore locked rows by using select_for_update(skip_locked=True)

    关于mysql - 如何使用 Django 在 MySQL 上使用 SKIP LOCKED 执行 SELECT FOR UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49200473/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com