MySQL可以处理多少GET_LOCK?

时间:2014-05-15 12:24:32

标签: mysql limit limits locks

整个服务器可以由mysql服务器处理多少GET_LOCKS。我无法找到有关其局限性的任何内容。

2 个答案:

答案 0 :(得分:2)

根据MySQL文档GET_LOCK(),您不能为每个连接保留多个锁。

正如它所说

  

如果您使用GET_LOCK()获得锁定,则会在您发布时释放   执行RELEASE_LOCK(),执行新的GET_LOCK()或您的连接   终止(正常或异常)。

基本上,它取决于No.Of连接。我会说方程式

No.of GET_LOCK handled = NO.Of Connections handled

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

答案 1 :(得分:0)

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)