数据库四种隔离级别:
未提交读(Read uncommitted):
事务在读数据的时候并未对数据加锁。
提交读(Read committed):
事务对当前被读取的数据加 行级共享锁(当读到时才加锁),一旦读完该行,立即释放该行级共享锁;
事务在更新某数据的瞬间(就是发生更新的瞬间),必须先对其加 行级排他锁,直到事务结束才释放。
可重复读(Repeatable reads):
事务在读取某数据的瞬间(就是开始读取的瞬间),必须先对其加 行级共享锁,直到事务结束才释放;
事务在更新某数据的瞬间(就是发生更新的瞬间),必须先对其加 行级排他锁,直到事务结束才释放。
可序列化(Serializable):
事务在读取数据时,必须先对其加 表级共享锁 ,直到事务结束才释放;
事务在更新数据时,必须先对其加 表级排他锁 ,直到事务结束才释放。
共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。 排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁(即其他事务也不能对数据A再加共享锁进行读操作)。获准排他锁的事务既能读数据,又能修改数据。