首页 > 代码库 > 数据库锁
数据库锁
一、锁机制的目的
数据库是一个多用户操作的共享资源。当在多线程的操作下,很容易破坏一致性原则.而锁机制的目的就是确保数据的一致性。对于不同的数据库引擎,其锁机制实现方式有所不同,但其目的及原理相似。
二、锁的分类
2.1 基本分类
2.1.2 共享锁(Share Locks,即S锁):
读锁(select)基本都是共共享锁,除非加上排它锁标识(for update).即相互不阻塞,多个用户同一时间可以读取同一资源而相互不干扰.mysql叫快照读
2.1.1 排它锁(Exclusive Locks,即X锁):
写锁(insert update delete)都是排它锁.即一个写锁会阻塞其他的读锁和写锁.mysql叫当前读
2.2 按锁定粒度分类
2.2.1行级锁
2.2.2页级锁
2.2.3表级锁
2.3 按程序员的角度分类
2.3.1悲观锁
依靠数据库的锁机制。
2.3.2乐观锁
基于数据版本(version)记录机制实现。
数据库锁
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。