按粒度划分:
表级锁,页级锁,行级锁
按使用方式:排他锁、共享锁
按思想:悲观锁、乐观锁
表锁的开销小,上锁快,并发度小,不会产生死锁,但是冲突较大
其中MyISAM支持表锁,有共享表锁和排他写锁,当一个线程获取到MyISAM表的读锁的时候,会阻塞其他用户对该表的写操作,但是不会阻塞其它用户对该用户的读操作。
相反的,当一个线程获取到MyISAM表的写锁的时候,就会阻塞其它用户的读写操作对其它的线程具有排它性。
InnoDB中行锁在使用的方式上可以划分为:「共享读锁(S锁)「和」排它写锁(X锁)」。
当某一行被上S锁,那么当前线程只能对其进行读操作,其他线程只能对其上S锁,不能上X锁
当某一行被上X锁,那么当前线程可以对其进行读写操作,其他线程S锁和X锁都没法上
