解释mysql中一致的非锁定读取背后的想法

时间:2015-01-09 09:07:01

标签: mysql sql

我刚刚读了一个mysql文档,在那里我找到了这样的句子:"一致的读取意味着InnoDB使用多版本来向查询提供 数据库的快照在某个时间点。"

我阅读了很多mysql文档页面,但仍然无法向我自己澄清查询"这意味着。肯定它会升级为SELECT语句,但是如果我的事务以UPDATE,INSERT,DELETE语句开头呢?

谢谢!

2 个答案:

答案 0 :(得分:0)

当查询可以更改数据时,数据库也使用锁来同步查询。

因此,在更改数据的查询之间,锁用于确保一次只有一个查询可以更改特定项。在读取数据的查询和更改数据的查询之间,多版本用于在更改读取数据的查询之前显示数据。

答案 1 :(得分:0)

我在答案中找到了另一种方式。而且我认为它应该是其他人的解决方案。因此,几天寻找白痴oracle文档和最终结果:

InnoDB在语句

时创建一致的读取视图或一致的快照

的MySQL>开始交易与一致的快照;

执行

或在事务中执行第一个选择查询。

https://blogs.oracle.com/mysqlinnodb/entry/repeatable_read_isolation_level_in