数据库的锁机制
Posted feng9exe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库的锁机制相关的知识,希望对你有一定的参考价值。
并发控制
在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(
Concurrency control
)是确保及时纠正由并发操作导致的错误的一种机制。
数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。
锁、时间戳、乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。
锁
当并发事务同时访问一个资源时,有可能导致数据不一致,因此需要一种机制来将数据访问顺序化,以保证数据库数据的一致性。锁就是其中的一种机制。
在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。
锁的分类(oracle)
一、按操作划分,可分为DML锁
、DDL锁
二、按锁的粒度划分,可分为表级锁
、行级锁
、页级锁
(mysql)
四、按加锁方式划分,可分为自动锁
、显示锁
DML锁(data locks,数据锁),用于保护数据的完整性,其中包括行级锁(Row Locks (TX锁))、表级锁(table lock(TM锁))。 DDL锁(dictionary locks,数据字典锁),用于保护数据库对象的结构,如表、索引等的结构定义。其中包排他DDL锁(Exclusive DDL lock)、共享DDL锁(Share DDL lock)、可中断解析锁(Breakable parse locks)
https://www.hollischuang.com/archives/909
https://www.cnblogs.com/zhoading/p/8547320.html
以上是关于数据库的锁机制的主要内容,如果未能解决你的问题,请参考以下文章