Table of Contents
事务与锁是不同的, 事务具有 ACID
(原子性、一致性、隔离性和持久性), 而锁是用于解决其中隔离性的一种机制.
事务的隔离级别通过锁的机制来实现.
隔离级别, 一般有四种:
- 读未提交 Read uncommitted
- 读已提交 Read committed
- 可重复读 Repeatable read
- 可串行化 Serializable
关于隔离级别的说明参考另一篇 wiki: 事务的隔离级别
对用户来说, 只有当事务隔离级别无法解决一些并发问题和需求时, 才有必要在语句中手动设置锁.
不适当的设置锁, 可能会导致严重的阻塞和死锁.
建议, 只有在完全了解锁机制的情况下, 才可以在语句中手动设置锁, 否则应该使用事务隔离级别.