首页 > 数据库技术 > 详细

数据库中锁机制

时间:2016-01-26 12:03:36      阅读:288      评论:0      收藏:0      [点我收藏+]

数据库中锁机制:

  共享锁:在非Serializable隔离级别下做查询不加任何锁,而在Serializable隔离级别下做的查询都会加共享锁,

      共享锁特点:共享锁和共享锁可以共存,但是共享锁和排他锁不能共存。

  排他锁:在所有隔离级别下,进行增删改都会加排他锁,

      排他锁特点:和任意其他锁都不能共存。

  如果是两个线程并发修改,一定会互相捣乱,这时必须利用锁机制防止多个线程并发修改。

  如果两个线程并发查询,没有线程安全问题。(即便是在Serializable隔离级别下,做查询。多个共享锁也可以共存)。

  如果两个线程一个修改,一个查询。可能存在(脏读,不可重复读,幻读也叫虚读)

  注意的是:

  不可重复读:在一个事务内读取表中的某一行数据,多次读取结果不同 ----行级别问题

  虚读(幻读):是指在一个事务内读取到了别人插入的数据,导致前后读取不一致 ----表级别的问题

  在实际的查询中,我们做的更多的是查询某个条件下的数据,也就是面临更多的是行级别的问题。

  直接查询整个表的数据的情况相对少一点,即面临的表级别的问题要少一点。

数据库中锁机制

原文:http://www.cnblogs.com/zhouxuan323/p/5159616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!