Update 数据库系统原理.md

更正MVCC里SELECT操作时检查行数据版本号的条件,请查阅。
This commit is contained in:
fanxijun 2019-07-04 20:12:15 +08:00 committed by GitHub
parent a2220c04de
commit 5e794c5b0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -334,7 +334,7 @@ MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把
多个事务必须读取到同一个数据行的快照并且这个快照是距离现在最近的一个有效快照但是也有例外如果有一个事务正在修改该数据行那么它可以读取事务本身所做的修改而不用和其它事务的读取结果一致 多个事务必须读取到同一个数据行的快照并且这个快照是距离现在最近的一个有效快照但是也有例外如果有一个事务正在修改该数据行那么它可以读取事务本身所做的修改而不用和其它事务的读取结果一致
把没有对一个数据行做修改的事务称为 TT 所要读取的数据行快照的创建版本号必须小于 T 的版本号因为如果大于或者等 T 的版本号那么表示该数据行快照是其它事务的最新修改因此不能去读取它除此之外T 所要读取的数据行快照的删除版本号必须大于 T 的版本号因为如果小于等于 T 的版本号那么表示该数据行快照是已经被删除的不应该去读取它 把没有对一个数据行做修改的事务称为 TT 所要读取的数据行快照的创建版本号必须小于或等于 T 的版本号因为如果大 T 的版本号那么表示该数据行快照是其它事务的最新修改因此不能去读取它除此之外T 所要读取的数据行快照的删除版本号必须是未定义或者大于 T 的版本号因为如果小于等于 T 的版本号那么表示该数据行快照是已经被删除的不应该去读取它
### 2. INSERT ### 2. INSERT