事务小结

作者: grace_lbh | 来源:发表于2016-10-27 14:56 被阅读45次

1、事务定义:同生共死、同时成功或者失败的一组操作数据的操作;

2、设置手动提交事务:set autocommit = 0;  savepoint(回滚点);  rollback(回滚); commit(提交);

3、mysql 默认是自动体积事务,也就是一句sql是一个事务;oracle默认手动提交事务,

4、原子性:每个事务是一个原子

一致性:事务中减少和增加保持整体的一致性

隔离性:当事务操作过程中,对别的事务存在隔离性

持久性:事务提交后数据被持久到数据库,不能还原

5、数据库不设置隔离级别容易存在的错误:

脏读:读到别的事务中未提交的数据

虚度:同一事务中先后两次查询的数量是不一致的

不可重复读:同一个事务中读到数据是不一致的(存在别的事务update的数据)

6、数据库为了解决三中隔离性问题提供了四种隔离级别:

Serializable( 序列):事务完全隔离,不支持脏读、虚度、不可重复读

Repeatable Read: mysql默认支持隔离级别,支持虚度,不支持不可重复读和脏读

Read Commited: oracle默认支持隔离级别,支持虚度、不可重复读,不支持脏读

Read Uncommited : 支持脏读、虚度、不可重复读

7、关于丢失更新问题常见两种解决办法:

1):悲观锁:假设发生丢失的几率很大----利用数据库内部锁机制

 常见数据锁:读锁(共享锁)、写锁(排他锁)

* * 一条数据可以有多个读锁(共享锁),但一条数据只能有一个写锁(写锁和任何锁都互斥)

* * 数据修改会自动添加排他锁,

* * 加锁结合事务使用,事务中加锁,当事务结束锁自动释放。

2):乐观锁

利用数据库记录版本号区分数据是否被修改,timestemp会自动更新

相关文章

  • 事务小结

    1、事务定义:同生共死、同时成功或者失败的一组操作数据的操作; 2、设置手动提交事务:set autocommit...

  • Spring 事务

    一些 Spring 事务的核心配置与代码片段 核心配置 目标对象 测试 小结:spring 的事务管理是通过动态代...

  • SpringBoot 系列教程之事务隔离级别知识点小结

    SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简...

  • Spring事务原理分享小结

    原本以为自己看了这么久的源码,分享效果应该不错,但是发现不是这样的,大部分人都是处于以为自己知道,实际上自己似是而...

  • 阿里面试小结

    阿里面试小结1 redis中淘汰策略LRU(最久未使用基本数据结构如何实现)。2 Spring数据库事务隔离级别以...

  • 【474】吃下午茶有什么作用和功效

    喝下午茶可以调节工作节奏,尤其在繁忙的时候,适当得做出停顿,给大脑留出梳理繁杂事务的空间,做个小结并评估调整正在进...

  • 数据库事务的ACID特性与事务隔离级别小结

    前言 今天是本博客开博一周年,一年来写了将近30万字,收获颇丰。但是回头翻看,发现之前写的“漂在半空中”的东西居多...

  • 好习惯

    11-时间统计法通过记录每个事件的花销时间,通过统计和分析,进行月小结和年终总结,以此来改进工作方法、计划未来事务...

  • 220718 一日三省

    220718 一日三省 1)今天要感恩的人与事:周一,忙碌的一天,早上基本事务,周小结,下午开空调休息,乒乓球遇雨...

  • 训练营 总结

    昨天做了个小结,今天做个小结的小结,其实应该这么说,昨天小结了个人收获,今天小结一下总体的情况。 非常令我意外,一...

网友评论

    本文标题:事务小结

    本文链接:https://www.haomeiwen.com/subject/lkzjuttx.html