【问题标题】:How many GET_LOCKs can a MySQL handle?MySQL 可以处理多少个 GET_LOCK?
【发布时间】:2014-05-15 12:24:32
【问题描述】:

一个 mysql 服务器可以处理多少个 GET_LOCKS - 整个服务器。我找不到任何关于它的限制的信息。

【问题讨论】:

    标签: mysql limit limits locks


    【解决方案1】:

    根据 MySQL 文档 GET_LOCK(),每个连接不能持有多个锁。

    正如它所说的

    如果你有一个用 GET_LOCK() 获得的锁,它会在你被释放时被释放 执行 RELEASE_LOCK(),执行一个新的 GET_LOCK(),或者你的连接 终止(正常或异常)。

    所以本质上,它取决于连接数。我会说等式会

    No.of GET_LOCK handled = NO.Of Connections handled
    

    我看到记录了一个错误,人们建议每个连接都有并发锁定。看这里http://bugs.mysql.com/bug.php?id=1118

    【讨论】:

    • @MarcusAdams,我按照规范进行了;尽管记录了每个连接具有并发锁定的错误。不确定这是否已经发布并且您正在谈论它。
    • @MarcusAdams,我不这么认为;我在回答中引用了具体内容。如果您已经拥有一把锁;当您尝试在同一连接上获取另一个锁时;持有锁被释放。我就是这么理解的。
    • 对于未来的参考,对于 mysql 5.7 或更高版本不再适用。 dev.mysql.com/doc/refman/5.7/en/…
    【解决方案2】:
    mysql> SELECT GET_LOCK('s',10);
    +------------------+
    | GET_LOCK('s',10) |
    +------------------+
    |                1 |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT GET_LOCK('t',10);
    +------------------+
    | GET_LOCK('t',10) |
    +------------------+
    |                1 |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT GET_LOCK('b',10);
    +------------------+
    | GET_LOCK('b',10) |
    +------------------+
    |                1 |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT IS_FREE_LOCK('b');
    +-------------------+
    | IS_FREE_LOCK('b') |
    +-------------------+
    |                 0 |
    +-------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT IS_FREE_LOCK('t');
    +-------------------+
    | IS_FREE_LOCK('t') |
    +-------------------+
    |                 1 |
    +-------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT IS_FREE_LOCK('s');
    +-------------------+
    | IS_FREE_LOCK('s') |
    +-------------------+
    |                 1 |
    +-------------------+
    1 row in set (0.00 sec)
    

    【讨论】:

    • 错误示例...问题是基于“按服务器”而不是“按连接”。
    猜你喜欢
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2012-03-18
    • 2019-04-11
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多