【问题标题】:when will select statement without for update causing lock?什么时候选择语句没有更新导致锁定?
【发布时间】:2009-05-29 12:47:58
【问题描述】:

我正在使用 MySQL,

我有时通过运行“显示进程列表”看到一个状态为“锁定”的选择语句

但在本地测试后,我无法再次重现“锁定”状态。

【问题讨论】:

  • 很多人不是mySQL专家。

标签: mysql select locking


【解决方案1】:

这可能取决于其他情况。我不是 mySQL 专家,但在 SQL Server 中,各种锁定级别控制何时可以读取和写入数据。例如,在生产中,您的选择语句可能想要读取正在更新的记录。它必须等到更新完成。反之亦然 - 更新可能必须等待读取完成。

乱用默认锁定级别是危险的。而且由于开发环境的流量几乎没有那么多,您可能看不到这种争用。

【讨论】:

    【解决方案2】:

    如果您再次发现该问题,请查看是否可以查看是否针对您的选择所引用的表之一进行了任何更新。

    我不希望在 mysql 中使用,但听起来另一个用户在您尝试读取表/字段时正在对表/字段进行锁定。

    【讨论】:

      【解决方案3】:

      我也不是 MySQL 专家,但锁定行为很大程度上取决于隔离级别/事务隔离。我建议在 MySQL 文档中搜索这些术语。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-22
        • 1970-01-01
        • 2014-05-14
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        相关资源
        最近更新 更多