整个服务器可以由mysql服务器处理多少GET_LOCKS。我无法找到有关其局限性的任何内容。
答案 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)