When does locking or mvcc occur? Where do I need to specify which one the database should use?

怎甘沉沦 提交于 2020-02-10 18:08:32

MVCC applies to isolation levels read-committed and repeatable read (default).

You don't need to specify anything for both of these features to work together. 

 

Row Level Locking

Locking is for when multiple writers are trying to update the same rows. Only one writer can update a row at a time, and the first one to update the row locks it until they commit the change. Other writers have to wait until the first writer commits. But at least with row-level locking, they only have contention if they're updating the same row.

A read lock can be used to prevent other users from reading a record (or page) which is being updated, so that others will not act upon soon-to-be-outdated information.

 

Multiversion Concurrency Control

  1. Writers don't block readers

  2. Readers don't block anyone, and don't get blocked by anyone(but the data readers is reading maybe historical version)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!