84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
《高性能mysql》这本书上说有关MVCC中update的说法是: InnoDB会为每个需要更新的行, 建立一个新的行拷贝, 并且为新的行拷贝, 记录当前的系统版本号。 同时, 也为更新前的旧行, 记录系统的版本号, 作为旧行的删除版本标识。
那么我的问题是: 1.在执行update操作后,原有的记录不是被删除而是在数据库表中与新记录共存? 2.如果不是使用MVCC, 而是普通的update更新操作, 是否会保存原来的旧的记录, 还是在原记录上更新并保存? 求指点!
ringa_lee
1.不论怎样都不是真的删除,设置delete标记,记录事务ID。 2.mvcc是一种多版本机制,不是你用或不用的问题,up时都是针对当前读,只有select才是快照读。
1.不论怎样都不是真的删除,设置delete标记,记录事务ID。
2.mvcc是一种多版本机制,不是你用或不用的问题,up时都是针对当前读,只有select才是快照读。