14.2.2.7 Implicit Transaction Commit and Rollback和14.2.2.8 Deadlock Detection and Rollback

原创 2015年11月20日 15:13:51

14.2.2.7 Implicit Transaction Commit and Rollback 隐式的事务提交和回滚

默认情况下,MySQL 启动会话对于每个新的连接 是自动提交模式,

所以MySQL 在每个SQL语句执行后提交 如果SQL语句不返回错误

如果SQL 语句返回一个错误,commit 或者rollback 行为依赖错误。

如果一个会话关闭自动提交,没有显示的提交最后的事务,MySQL 回滚事务。

14.2.2.8 Deadlock Detection and Rollback 死锁检测和回滚

InnoDB 自动检测事务死锁和回滚一个事务或者多个事务来解决死锁。

InnoDB 尝试挑选小的事务回滚, 事务的大小取决于插入,更新,删除记录的数目。

InnoDB 是意识到表锁 如果 innodb_table_locks = 1 (the default) and autocommit = 0,

MySQL layer 在它上面 知道关于row-level locks.

否则, InnoDB 不能检测deadlocks 当一个表lock 设置通过一个MySQL LOCK TABLES 语句

或者 一个lock 通过存储引擎设置相比InnoDB 被涉及。 解决那些冲突通过设置innodb_lock_wait_timeout 系统变量

当InnoDB 执行一个完整的事务回滚,所有的locks 通过事务的被释放。

然而,如果一个单独的SQL语句 被回滚 由于错误,

一些locks 通过语句设置的可能被保存

这个发生在当InnoDB 存储行锁 以一种格式 它不能知道

如果一个SELECT 调用一个存储函数在一个事务, 语句的函数失败,

语句回滚。此外, 如果回滚被执行,整个事务被回滚。

START TRANSACTION, COMMIT, and ROLLBACK Syntax

本文转载自:http://dev.mysql.com/doc/refman/5.5/en/commit.html

关于COMMIT WORK 和COMMIT WORK AND WAIT的区别及ROLLBACK WORK

首先说明一点:更新是异步的,更新是由SAP中UPD1和UPD2两个进程执行的,关于这两个进程各负责什么再说明一下 UPD1先执行,主要是用于数据库表的更新,比如说写表 UPD2后执行,主要...

EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。

EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。 这是我错误的存储过程,在这个存储过程里,我想做的是开始一...

2.SQL Server DML触发器之COMMIT和ROLLBACK TRANSACTION

本文摘自《锋利的SQL》:http://item.jd.com/10380652.html 14.1.2 COMMIT和ROLLBACK TRANSACTION 当执行能够激发触发器操作的语句时,触...

EJB3.x JPA: When to use rollback() and setRollbackOnly()

After JTA was introduced for more than a decade ago, then later with the introduction of Bean-Manage...

关于数据库的commit以及rollback(转载)

rollback   回滚的意思。  就是数据库里做修改后 ( update  ,insert  , delete)未commit 之前   使用rollback   可以恢复数据到修改之前。 从功...

【转】Oracle数据库中commit和rollback命令

在这里我只简单介绍一下这两个命令,只是我在使用的过程中用到了,所以就在这里提一提,如果大家对这个感兴趣的话,可以去搜索一些更多的介绍,欢迎分享出来~~ 一个数据库事务起始于一个SQL语句,中止于以下...
  • shcqupc
  • shcqupc
  • 2016年01月13日 13:47
  • 131

数据库的commit以及rollback

介绍: 从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。  1. DDL(Data Definition Language)      数据定义语言,用于定义和管理 SQL ...

oracle笔记整理3——commit,rollback,flashback

1. commit和rollback 1) commit之前 a) 困难的工作已经完成,数据已经修改,99%的工作已经完成。 b) 已经在SGA中生成了undo块 c) 已经在SGA中生成了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:14.2.2.7 Implicit Transaction Commit and Rollback和14.2.2.8 Deadlock Detection and Rollback
举报原因:
原因补充:

(最多只允许输入30个字)