MySQL的MVcc
时间: 2024-04-05 10:06:31 浏览: 93
MySQL的MVCC(Multi-Version Concurrency Control)是一种并发控制的方法,用于实现对数据库的并发访问。它通过为每一行数据添加版本号来实现并发控制,使得读操作不会被写操作所阻塞,从而提高数据库的并发性能。\[1\]
MVCC在MySQL中主要适用于隔离级别中的读已提交(Read committed)和可重复读(Repeatable Read)。对于Read uncommitted隔离级别,由于存在脏读,即能读到未提交事务的数据行,所以不适用MVCC。而对于串行化隔离级别,由于对所涉及到的表加锁,并非行锁,所以也不存在行的版本控制问题。\[2\]
MVCC的主要作用是实现事务性的、有行锁控制的数据库模型。它通过创建版本和删除版本来实现并发控制,使得读操作可以读取到之前提交的版本,而写操作则会创建新的版本。这样可以实现读操作的非阻塞,提高数据库的并发性能。\[3\]
总结来说,MySQL的MVCC是一种通过版本控制实现并发控制的方法,适用于事务性的、有行锁控制的数据库模型,可以提高数据库的并发性能。
#### 引用[.reference_title]
- *1* *2* [Mysql中的MVCC](https://blog.csdn.net/weixin_42203131/article/details/130526351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MySql的MVCC详解](https://blog.csdn.net/hncujing/article/details/127391755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文