事务
来源:互联网 发布:json格式验证工具 编辑:程序博客网 时间:2024/05/21 22:53
事务
什么是事务?
事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功,从而确保了数据的准确安全。
MYSQL中如何使用事务?
1.在MySQL中的每一条语句都是属于独立的事务,myaql中的事务是自动开启的,每一个数据厂商不一样,oracal中就不是
2.在mysql中手动开启事务,使用的是 start transaction 在此之后的语句都会处于同一个事务之中;
事务的特性:
原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生;
一致性:事务必须是数据从一个一致性状态变换到另外一个一致状态;
隔离性:事务的隔离性从一个一致性变换到另外一个一致性状态
持久性:持久性是指一个事务一旦被提交了,它对数据的改变就是永久的,接下来即使数据库发生了故障也不应该对其有任何影响;
总结事务的特性:原子性 隔离性 永久性 一致性
隔离性:如果没有隔离性,那么线程之间就会出现干扰
如果不考虑隔离级别,会出现以下的情况:-->下面的是错误的现象
脏读:一个线程中的事务读到了另外一个线程中未提交的数据
不可重复读:一个线程中的事务读到了另外一个线程中已经提交的update的数据(前后内容不一样)
虚读(幻读):一个线程中的事务读到了另外一个线程已经提交的insert的数据(前后条数不一样)
针对这三种情况 mysql提供了三种隔离级别:
Serialiable:可避免脏读,不可重复读,虚读情况的发生 最高
Repeatable read:可避免脏读,不可避免重复读情况的发生,但是不能避免的是虚读或者幻读情况的发生 第二
Read committed:可以避免脏读情况的发生;
Read unconnitted:级别最低,以上情况均无法保证 级别最低
设置MySQL的默认隔离级别是:REPEATABLE READ 这个是可重复读 他可以避免的是脏读和不可重复读;
查询当前使用的隔离级别:select @@tx_islation select @@tx_islation select @@tx_islation;
设置MySQL事务的格力级别:set session transaction isolation level xxx;(设置当前事务的,并不是永久改变的;)
注意的是:修改mysql事务的隔离级别,必须在开启事务之前,否则是无效的;
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- 事务
- UIView的transform属性
- HWOJ题目
- Unity Manual之CharacterController 角色控制器
- Eclipse环境下配置spket,开发ExtJS提示插件
- oracle查看表空间使用大小和扩展表空间
- 事务
- UIVIEW 的旋转与缩放以及同时应用两种效果(一)
- poj 2689 Prime Distance (大素数的筛选)
- UIVIEW 的旋转与缩放以及同时应用两种效果(二)
- 如何移动应用了CGAFFINETRANSFORM效果的UIVIEW
- Unity Manual之MonoBehaviour
- Java基础-List实现类&泛型
- Android 底部导航栏的使用 fragment
- IOS--UI--UIView文件解读