按锁粒度分类:
1.行锁:锁某行数据,锁粒度最小,并发度高。
2.表锁:锁整张表,锁粒度最大,并发度低。
3.间隙锁:锁的是一个区间
还可以分为:
1.共享锁:也就是读锁,一个事务给某行数据加了读锁,其他事务也可以读,但是不能写。
2.排他锁:也就是写锁,一个事务给某行数据加了写锁,其他事务不能读,也不能写。
还可以分为:
1.乐观锁:并不会真正的去锁某行记录,而是通过一个版本号来实现的。
2.悲观锁:上面说的行锁、表锁等都是悲观锁。
在事务的隔离级别实现中,就需要利用锁来解决幻读。