1. Home
  2. Docs
  3. 笔记与实践之MySQL45讲
  4. 03.事务隔离:为什么你改了我还看不见?

03.事务隔离:为什么你改了我还看不见?

知识要点

  • ACID/Atomicity-原子性 Consistency-一致性 IsoIation-隔离性 Durability-持久性
  • IsoIation-隔离性
    • 带来的问题
      • 脏读 dirty read
      • 不可重复读 non repeatable read
      • 幻读 phantom read
    • 级别
      • 读未提交 read uncommitted
      • 读提交 read committed
      • 可重复读 repeatable read
      • 串行化 serializable
  • 想保证数据库隔离级别的一致性 设置为 读提交

问题思考

Q: 如何避免长事务对业务的影响?

实践

查看当前配置的事务隔离等级

mysql> show variables like 'transaction_isolation';
+-----------------------+-----------------+
| Variable_name         | Value           |
+-----------------------+-----------------+
| transaction_isolation | REPEATABLE-READ |
+-----------------------+-----------------+

设置当前会话事务隔离等级
mysql> set SESSION transaction_isolation="READ-COMMITTED";

transaction_isolation 文档说明

  • MySQL默认事务隔离等级 REPEATABLE-READ

可选配置值有

  • READ-UNCOMMITTED
  • READ-COMMITTED
  • REPEATABLE-READ
  • SERIALIZABLE
Tags
Was this article helpful to you? Yes No

How can we help?