为了能得到较好的性能,一般数据库都有并发机制。不过同时带来了数据访问的冲突问题。为了解决数据访问的冲突,大多数数据库采用了数据的锁定。
数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。
悲观锁:顾名思义就是对数据之间的冲突采用取一种悲观的态度,认为数据之间的冲突肯定会发生。所以在数据进行读取的时候就对数据进行了锁定,其他用户是不能读取和修改的。
而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用户返回错误的信息,让用户决定如何去做。