美文网首页
sql 事务

sql 事务

作者: Vergil_wj | 来源:发表于2021-06-28 08:46 被阅读0次

为什么需要事务

事务主要用来保证数据的合理性和并发处理的能力。

例子:

  • 银行中的转账操作,账户 A 把一定数量的款项转账到账户 B 上,这个操作包括两个步骤,一个是从账户 A 上吧存款减去一定的数量,而是账户 B 上把存款加上相同的数量。这两个步骤显然要么都完成,要么都取消,否则银行就会受损失。显然,这个转账操作中的两个步骤就构成一个事物。

  • 假设 A 和 B 用户都希望查询修改 M 表数据,A 用户不应该刚把 M 表的数据改成 5,查询时显示的数据却是 8 (因为 B 用户修改 M 表的数据成 8 了),事务必须得保证多个用户对共享资源同时访问时,数据库给用户的反应是合理的。

事务是用来研究什么的

  1. 避免数据处于不合理的中间状态。如转账。
  2. 怎样避免多用户同时访问时呈现给用户的数据是合理的,现在仍然没有很好的解决办法。

事务和线程的关系

事务也是通过锁来解决很多问题的。

线程同步就是通过锁来解决的, synchronized。

事务和第三方插件的关系

  1. 直接使用事务库技术的难度很大,很多人借用第三方插件实现,数据库中的事务的语法细节不需细细研究。

  2. 第三方插件想要完成预期的功能,一般必须得借助数据库中的事务机制来实现。

事务三种运行模式

  • 自动提交事务
    每条单独的语句都是一个事物。如果成功执行,则自动提交;如果错误,则自动回滚。

  • 显式事务
    每个事务均以 BEGIN TRANSACTION 语句显式开始。
    以 COMMIT 或 ROLLBACK 语句显示结束。

  • 隐性事务
    在前一个事务完成时新事物隐士启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句隐士结束。

事务的四大特性

  • 原子性:事务是一个完成的操作。事务的各步操作是不可分的(原子的):要么都执行,要么都不执行。

  • 一致性:当事务完成时,数据必须处于已知状态,要么处于开始状态,要么处于结束状态,不允许出现中间状态。

  • 隔离性:指当前的事务与其它未完成的事务是隔离的。在不同的隔离级别下,事务的读取操作,可以得到的结果是不同的。

  • 持久性:事务完成后,它对数据的修改被永久保持,事务日志能够保持事务的永久性。

相关文章

  • 14)mysql事务

    什么是事务事务是数据库执行操作的最小单元事务可以有一个sql组成,也可以由多个sql组成组成事务的sql要么全执行...

  • SQL Server数据库高级进阶之事务实战演练

    一、SQL Server事务的本质 •什么是SQL Server数据库事务?事务:是作为单个工作单元而执行的--系...

  • 5.1简介-第5章Spring事务

    spring的事务处理 1.什么是事务:事务时一组sql语句的集合,集合中有多条sql语句(insert、upda...

  • SQL事务

    何为事务具有逻辑关系的一组操作,组成这个操作的各个逻辑单元,要么全部成功,要么全部失败 事务属性原子性一组事务,要...

  • SQL——事务

    事务(transaction)由查询和更新语句序列组成(何为序列,有序的列)。 SQL规定当一条SQL语句被执,就...

  • SQL事务

    一、事务概念 事务是一种机制、是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行。因...

  • sql 事务

    为什么需要事务 事务主要用来保证数据的合理性和并发处理的能力。 例子: 银行中的转账操作,账户 A 把一定数量的款...

  • Weed3 for java 新的微型ORM框架

    Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;存储过程;事务;...

  • 第七章 事务(上)

    7.1 认识事务7.1.1 概述事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。事务是访问...

  • 数据库事务

    数据库mysql事务,一组sql语句组成的业务逻辑,当事务内所有的sql语句都成功的执行,整个事务才算成功,否则失...

网友评论

      本文标题:sql 事务

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