MySQL数据库(二)事务
程序员文章站
2022-03-02 13:55:25
未提交读:读尚未提交的数据
已提交读:读取已经提交的数据(oracle默认)
可重复读:保证同一事务多次读取同样记录的结果一致(MySQL默认)
串行化:每次读取都获得表级共享锁,读写相互阻塞 ......
mysql的存储引擎innodb支持事务,myisam不支持事物
数据库事务的四大特性(acid)
- 原子性(atomic) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
-
一致性(consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
拿转账来说,假设用户a和用户b两者的钱加起来一共是5000,那么不管a和b之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。
- 隔离性(isolation) 隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
- 持久性(durability) 持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
mysql中事务的隔离级别:
- 未提交读:读尚未提交的数据
- 已提交读:读取已经提交的数据(oracle默认)
- 可重复读:保证同一事务多次读取同样记录的结果一致(mysql默认)
- 串行化:每次读取都获得表级共享锁,读写相互阻塞
上一篇: [20191119]探究ipcs命令输出2.txt
下一篇: 情人节吃巧克力的起源
推荐阅读
-
再谈MySQL数据库备份恢复和乱码问题
-
修复MySQL数据库(MyISAM/InnoDB)_MySQL
-
MSSQL MySQL 数据库分页(存储过程)
-
mysql事务执行完毕,需要恢复autocommit=1吗?
-
如何用SQL命令查看Mysql数据库大小_MySQL
-
二分查找(Binary Search)需要注意的问题,以及在数据库内核中的
-
用telnet的方法导出、导入论坛mysql数据库_MySQL
-
foreach - PHP 导入文本文件的正则表达式提取部分内容 变成数组 然后存入到mysql数据库中
-
解决MySQL数据库中文模糊检索问题的方法
-
mysql-发布到AZURE的网站访问不到AZURE上创建的MySQL数据库