文章目录
前言
数据库的锁机制还是比较复杂的,不同的锁适合应用在不同的场所,正在看这一类的文章,来边学习边总结一下。
一、数据库锁是什么?
我认为,数据库的锁是用来解决数据的并发访问和处理的并发性和一致性问题的。我们常挂在嘴边的锁有行级锁、页级锁和表级锁,这几个都是悲观锁,数据库另外一个就是与之对应的乐观锁。下面是一张锁的分级图。
二、乐观锁和悲观锁
1.乐观锁
乐观锁总是认为别人不会修改数据,总不会发生并发问题,所以在处理数据的时候没有上锁,只有在线程提交数据时会通过检查版本号的形式检测数据有没有被修改过。 一般会在数据表中添加版本号(Version)字段来表示被修改的次数,当数据被修改,version+1,只有在version字段和当前数