首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锁表表写阻止我的读数

锁表表写阻止我的读数
EN

Stack Overflow用户
提问于 2022-10-27 12:30:03
回答 1查看 35关注 0票数 1

I处于可重复读级别.

为什么让我等呢?

我知道在任何级别上的所有读取(选择)都是非阻塞的

我遗漏了什么?

第1场会议:

代码语言:javascript
复制
mysql> lock tables users write;
Query OK, 0 rows affected (0.00 sec)

第2场会议:

代码语言:javascript
复制
mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from users where id = 1; // wait

第1场会议:

代码语言:javascript
复制
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

第2场会议:

代码语言:javascript
复制
mysql> select * from users where id = 1;
+----+-----------------+--------------------+------+---------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+------------+
| id | name            | email              | rol  | email_verified_at   | password                                                     | remember_token | created_at          | updated_at          | deleted_at |
+----+-----------------+--------------------+------+---------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+------------+
|  1 | Bella Lueilwitz | orlo19@example.com | NULL | 2022-08-01 17:22:29 | $2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi | MvMlaX9TQj     | 2022-08-01 17:22:29 | 2022-08-01 17:22:29 | NULL       |
+----+-----------------+--------------------+------+---------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+------------+
1 row in set (10.51 sec)

在这个问题上恰恰相反。

为什么不锁定表[表]写阻止表读取?

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 13:40:56

你提到了2013年发布的关于MySQL 5.0的一个问题。从那时起的答案表明,客户机可以获得一个已缓存在查询缓存中的结果。从那时起,MySQL 5.6和5.7默认禁用查询缓存,MySQL 8.0完全删除了该特性。这是件好事。

文档说:

WRITE锁:

  • 只有持有锁的会话才能访问表。在释放锁之前,其他会话都不能访问它。

在MySQL 5.0天中也是如此,但是查询缓存允许一些客户机绕过它。但我想即使在那时,它也不可靠,因为如果客户端运行的查询碰巧没有被缓存,我想它将恢复到文档化的行为。无论如何,这是没有意义的,因为所有当前支持的MySQL版本都应该禁用或删除查询缓存。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74222063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档