精华内容
下载资源
问答
  • spring事务与数据库事务的区别

    千次阅读 2019-10-08 18:59:23
    事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transactionend transaction语句(或函数调用)来界定。事务事务开始(begin transac...

    先说一下什么是事务,事务(Transaction):一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transactionend transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。。

    之前一直觉得事务只针对于数据库当中,5种隔离级别,7种传播行为,后来才发现这是针对Spring的,对数据库来说隔离级别只有4种,Spring多了一个DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.

    总的来说,本质上其实是同一个概念,

    spring的事务是对数据库的事务的封装,最后本质的实现还是在数据库,假如数据库不支持事务的话,spring的事务是没有作用的

    .数据库的事务说简单就只有开启,回滚和关闭,spring对数据库事务的包装,原理就是拿一个数据连接,根据spring的事务配置,操作这个数据连接对数据库进行事务开启,回滚或关闭操作.但是spring除了实现这些,还配合spring的传播行为对事务进行了更广泛的管理.其实这里还有个重要的点,那就是事务中涉及的隔离级别,以及spring如何对数据库的隔离级别进行封装.事务与隔离级别放在一起理解会更好些.

    展开全文
  • 事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transactionend transaction语句(或函数调用)来界定。事务事务开始(begin transaction)和事务结束...

    事务

    事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transactionend transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。    ---- 百度百科

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

    • 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

    • 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

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

    • 持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

    不可重复读

    一个事务内在读取某些数据后的某个时间,再次读取以前读过的数据,却发现其读出的数据已经发生了变更、或者某些记录已经被删除了。(Update\Delete)

    例如:事务T1会读取两次数据,在第一次读取某一条数据后,事务T2修改了该数据并提交了事务,T1此时再次读取该数据,两次读取便得到了不同的结果。

    幻读

    幻读也是指当事务不独立执行时,插入或者删除另一个事务当前影响的数据而发生的一种类似幻觉的现象。(Insert)

    例如:系统事务A将数据库中所有数据都删除的时候,但是事务B就在这个时候新插入了一条记录,当事务A删除结束后发现还有一条数据,就好像发生了幻觉一样。这就叫幻读。

    解决办法:把数据库的事务隔离级别调整到SERIALIZABLE_READ(序列化执行),或者数据库使用者自己进行加锁来保证。

     

    不可重复读重点在于update和delete,而幻读的重点在于insert。

     

     

     

    展开全文
  • 事务:是可以整个撤消一段操作,是记录一系列操作变化。可能是一个或几个存储过程,也可能是一条或几条指令。 转载于:https://www.cnblogs.com/pengxl/archive/2011/09/21/2184317.html...

    是两个概念。

    存储过程:是完成一定功能的可重复调用的程序。可以理解成一个函数。其中可以包含多个事务。

    事务:是可以整个撤消的一段操作,是记录的一系列的操作和变化。可能是一个或几个存储过程,也可能是一条或几条指令。

    转载于:https://www.cnblogs.com/pengxl/archive/2011/09/21/2184317.html

    展开全文
  • 2、事务和程序的区别? 在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句、或者整个程序 一个程序通常包括多个事务 3、事务是恢复和并发控制的基本单位 4、事务的定义方式? 显式:结尾两种方式...

    事务

    1、什么是事务?

     事务是用户定义的一个数据库操作序列,要么全做、要么全不做、是一个不可分割的工作单位。

    2、事务和程序的区别?

     在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句、或者整个程序

     一个程序通常包括多个事务

    3、事务是恢复和并发控制的基本单位

    4、事务的定义方式?

    • 显式:结尾两种方式(COMMIT:事务正常结束、提交事务的所有操作;ROLLBACK:事务异常中止、回滚到事务初始zt)      
    • 隐式:一般一条建表操作就是一个隐式定义的事务

           

    5、事务的特性是什么?(简称ACID特性)

    • Actomic(原子性):事务是逻辑工作的基本单位,要么全做、要么全不做
    • Consistency(一致性):事务的执行结果必须是从一个一致性(数据库中只有成功提交的事务)状态到另一个一致性状态
    • Isolation(隔离性):一个事务的执行不能被其它事务干扰
    • Durablity(持久性):一个事务一旦提交,他对数据库中数据的改变就应该是永久性的

    6、事务处理的任务是什么?

      保证ACID特性

    7、破环事务ACID特性的因素有哪些?

    • 多个事务并行运行时,不同事务的操作交叉运行
    • 事务在运行过程中被强行终止

     

    数据库恢复技术

    1、数据库故障是不可避免的,故障有哪些?

    • 计算机硬件故障
    • 软件的错误
    • 操作员的失误
    • 恶意的破坏

    2、故障的影响有哪些?

    • 运行事务非正常中断,影响数据库中数据的正确性
    • 破坏数据库,全部或部分丢失数据

    3、数据库的恢复技术是什么?

    数据库管理系统必须把数据库从错误状态恢复到某种已知的正确状态,这就是数据库恢复系统对故障的对策。

    4、评价数据库恢复技术?

    • 恢复子系统时数据库管理系统的一个重要组成部分
    • 恢复技术是数据库系统优劣的重要指标

    总结:

    展开全文
  • 利用数据库引擎可以控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表用于...
  • Mysql 数据库几种引擎的区别比较

    千次阅读 2018-06-05 10:18:34
    MyISAM:默认MySQL插件式存储引擎,它是在Web、数据仓储其他应用环境下最常使用存储引擎之一。...(提供行级锁)BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK其他事务特性。 Memory:将...
  • 之前一直不明白在数据库里面的回滚(rollback)撤销(undo)的区别,感觉反正就是把某一个数据库操作恢复到该操作之前的状态,今天重新看了一下数据库事务管理章节,总结二者区别如下: 回滚:即在事务运行的...
  • 一、数据库引擎 数据库引擎是用于存储、处理保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用...
  • 数据库常用引擎和区别和比较 面试官经常问基础问题,就是基于MySQL数据库的这几种引擎。 · MyISAM:默认MySQL插件式存储引擎,它是在Web、数据仓储其他应用环境下最常使用存储引擎之一。注意,通过更改...
  • 事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transactionend transaction语句(或函数调用)来界定。事务事务开始(begin transaction)和事务结束...
  • 利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表用于...
  • 运行在局域网中一台或多台计算机和数据库管理系统软件共同构成了数据库服务器,数据库服务器为客户应用提供服务,这些服务是查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存...
  • 会话和事务的区别

    2019-12-12 10:38:56
    一个会话可以启动多个事务,会话是session,指一次连接。 事务是指一个操作单元,要么成功,要么失败,没有中间状态。... 会话好比,在应用程序中连接数据库要执行连接,然后会关闭,这算一次会话...
  • 摘 要:本文讨论了OracleSQL Server的在事务处理上的区别,并分析了其实现机制的差异。关键词:Oracle;SQL Server;事务事务隔离级别;DDL。 事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这...
  • 数据库引擎及区别

    千次阅读 2017-08-31 17:01:10
    利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。  数据库应用项目是通过数据库引擎与数据库链接的。何为数据库引擎呢?简而言之,数据库引擎就是驱动...
  • 默认MySQL插件式存储引擎,它是web、数据仓储其他应用环境下最常使用存储引擎之一。不支持事务 InnoDB 用于事务处理应用程序,支持ACID事务,提供行锁。 BSB 可替换InnoDB的事务引擎,支持commit,
  • oracle 11g数据库的版本与区别

    千次阅读 2013-05-04 19:39:25
    个人版: 只提供基本的数据库管理服务,适用于单用户开发部署 标准版: ...适用于对高端应用程序的数据管理,如大容量的联机事务处理(OLTP)环境、查询密集型的数据仓库要求较高的Internet应用程序等
  • 在 DBMS 中并发控制任务,是确保在多个事务同时存取数据库中同一数据时,不破坏事务的隔离性、一致性和数据库的统一性。 实现并发控制主要手段大致可以分为乐观并发控制悲观并发控制.
  • 这两种复杂系统的数据库联接有相关性,也有不同应用场景的区别。如要连接两个不同的业务库,一般会使用多数据源,如要动态切换不同数据源的相同业务库,会选择使用动态数据源。分布式事务要支持多数据源的事务,只能...
  • (1) ISAM:ISAM是一个定义明确且历经时间考验数据表格管理方法,它在设计之时就考虑到数据库被查询次数要远大于更新次数。因此,ISAM执行读取操作速度很快,而且不占用大量内存存储资源。ISAM两个...
  • JDBCJTA事务区别

    2015-09-22 01:51:53
    在JDBC连接中,使用命令声明事务的开始、提交取消。如前一章介绍的数据库处理方式,它通过java.sql.Connection接口实现,可以启用AutoCommit。这种方式使用简单,但性能较低。 利用JavaEE规范JTA驱动程序。这种...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433
精华内容 173
关键字:

数据库事务和程序的区别