码迷,mamicode.com
首页 > 数据库 > 详细

sql锁 事务

时间:2014-07-03 00:55:34      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:数据   问题   数据库   应用   sql   table   

1.数据库并发产生的问题。(这里所说的事务就是普通意义的流程,跟数据库的事务不要关联起来)

  1)脏读。一个事读取了一个仍然在另一个未提交事务的范畴内的数据。read committed级别可以避免。

  2)不可重复读。一个事务中两次相同的查询却返回了不同的数据。这是因为一个事务在读,然后另一个事务修改了数据,这个事务再去读,发现两次数据不一致。

  3)幻读。没有锁定所有读取的行。

  4)丢失更新。

 

2.各种锁(解决这些问题)。

 1)共享锁。用户在读取的时候其他用户可以读取,但是不能修改。select 的时候会加上共享锁。

 2) 更新锁。防止死锁而设置。加上更新所的对象不能被修改,但是可以读取,这是更新之前的预备状态。

 3)独占锁。

 4)意向锁。

 

3.事务里面隔离级别(各种锁的应用)。

 1)read uncommitted。可以读未提交的事务。这会出现脏读。

 2)read committed。可以读已经提交的数据。避免了脏读,但是会出现不可重复读。

 3)repeatable read。可以重复读。避免了脏读,不可重复读,但是会出现幻读。

 4)serializable。序列化,序列化执行。

 

 

 

 

 

sql锁 事务,布布扣,bubuko.com

sql锁 事务

标签:数据   问题   数据库   应用   sql   table   

原文地址:http://www.cnblogs.com/wuMing-dj/p/3818686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!