MySQL中的事务

Roh*_*hit 2 mysql sql rdbms transactions

会有什么MySQL的使用进行交易?MVCC(多版本并发控制)或行级锁定.?
如果两者我们如何从一个转移到另一个.

Ben*_*n M 5

这不依赖于MySQL本身,而是依赖于使用的引擎,例如InnoDB或MyIsam.


InnoDB事务模型中,目标是将多版本数据库的最佳属性与传统的两阶段锁定相结合.InnoDB在行级别上进行锁定,默认情况下以Oracle的方式运行查询作为非锁定一致性读取.InnoDB中的锁表存储空间有效,不需要锁升级:通常,允许多个用户锁定InnoDB表中的每一行,或行的任何随机子集,而不会导致InnoDB内存耗尽.

(来源:http://dev.mysql.com/doc/refman/5.0/en/innodb-transaction-model.html)


MySQL 对MyISAM,MEMORY和MERGE表使用表级锁定,一次只允许一个会话更新这些表,使它们更适合于只读,大多数读取或单用户应用程序.

(来源:http://dev.mysql.com/doc/refman/5.1/en/internal-locking.html)