pb之autocommit

简介:         autocommit顾名思义自动提交的意思,默认情况下autocommit是false,需要手动commit或者rollback来结束当前事务。

        autocommit顾名思义自动提交的意思,默认情况下autocommit是false,需要手动commit或者rollback来结束当前事务。如果将autocommit设置为true,每执行完一条sql语句(update,insert)pb都会自动commit或者rollback事务。对信息系统来说,业务逻辑往往比较复杂,一般都是很多sql语句组成一个事务,所以说自动commit会出现数据的逻辑错误(部分commit,部分rollback),所以对于信息系统来说事务操作的时候,一定要将autocommit设置成false,人为去commit或者rollback数据。

        需要注意的是,事务对象的autocommit属性对oracle数据库是不起作用的,对oracle数据库来说,connect命令开启一个事务,disconnect命令结束事务,每次commit或者rollback的时候,都会结束当前事务,开启一个新的事务。所以如果pb信息系统连接的是oracle数据库,即便autocommit设置为true,也要手动执行commit或者rollback,否则会出现数据库阻塞的情况。

目录
相关文章
|
缓存 关系型数据库
PG的synchronous_commit
PG的synchronous_commit
291 0
|
关系型数据库 MySQL
|
缓存 Oracle 关系型数据库
Oracle中控制commit的三个参数 commit_write, commit_logging和 commit_wait
Oracle中控制commit的动作有三个参数 commit_write, commit_logging和 commit_wait,按重要性分别说明如下
351 0
|
弹性计算 关系型数据库 测试技术
为什么高并发小事务, unlogged table不比logged table快多少? - commit wal log
标签 PostgreSQL , unlogged table , logged table , wal writer 背景 unlogged table,这些表的写操作不记录WAL日志。那么这种表的高并发写入一定比logged table快,快很多吗? 实际上一个事务,在事务结束时,也会记录一笔commit或rollback xlog,所以如果是高并发的小事务,commit xlog的
876 0
|
Java 数据库连接
JDBC(七)事务Transaction
事务Transaction是一组要作为单一的原子动作进行的行为。 要么执行所有的操作,要么都不执行。 我们可以通过它来调用事务: connection.setAutoCommit(false); 如果在事务中间出现失败,就需要对事务进行回滚 connection.rollback(); 如果所有操作都没有失败,那最终需要提交。
901 0