互联网公司足球平台出租是怎样处理mysql事务以及隔离级别

足球平台出租一:89076848系统出租稳定

一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

mysql> select @@global.tx_isolation,@@tx_isolation;+-----------------------+-----------------+| @@global.tx_isolation | @@tx_isolation |+-----------------------+-----------------+| REPEATABLE-READ | REPEATABLE-READ |+-----------------------+-----------------+1 row in set, 2 warnings (0.01 sec)

下面用例子说明一下这四种隔离级别:

1. read-uncommitted

更改隔离级别为read-uncommitted:

mysql> set session tx_isolation='read-uncommitted';Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> select @@tx_isolation;+------------------+| @@tx_isolation |+------------------+| READ-UNCOMMITTED |+------------------+1 row in set, 1 warning (0.00 sec)

首先,准备一些测试数据:

mysql> select * from user;+----+----------+------+| id | name | age |+----+----------+------+| 1 | zhangsan | 25 || 2 | lisi | 26 || 3 | wangwu | 27 || 4 | nike | 28 || 5 | lucy | 29 |+----+----------+------+5 rows in set (0.00 sec)

客户端A:

mysql> start transaction;Query OK, 0 rows affected (0.00 sec)mysql> select * from user;+----+----------+------+| id | name | age |+----+----------+------+| 1 | zhangsan | 25 || 2 | lisi | 26 || 3 | wangwu | 27 || 4 | nike | 28 || 5 | lucy | 29 |+----+----------+------+5 rows in set (0.00 sec)

客户端B:

mysql> start transaction;Query OK, 0 rows affected (0.00 sec)mysql> update user set age=52 where name='zhangsan';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性:足球平台出租Q一:89076848在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。比如A向B转账,不可能A扣了钱,B却没收到。

  • 隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。

  • 持久性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

猜你喜欢

转载自blog.csdn.net/a68862311/article/details/80339810
今日推荐