需要的,只要涉及到更新和插入都需要commit
oracle在进行插入(insert)、修改(update)和删除(delete)需要commit才会生效。其余的操作不需要commit就会生效。 需要commit的就是显示提交,不需要的是隐式提交。 自动提交: 因为oracle的这种机制,所以有的工具增加了进行自动提交的设置,就是对于需要显示提交的,工具检测出来后,自动的给加上commit。看着的效果就是不需要...
oracle多个insert只写一个commit不可以,因为oracle多个insert是不一样的数据库,都是锁表的状态,需要每个insert都写一个commit,不能多个insert只写一个commit。
补充:对的,insert以后commit之前是锁表的状态,其他事务无法对该表进行操作。 如果不提交的话,那么这个表就被锁了 COMMIT通常是一个非常快的操作,而不论事务大小如何。你可能认为,一个事务越大(换句话说,它影响的数据越多),COMMIT需要的时间就越长。不是这样的。不论事务有多大,COMMIT的响应时间一般都很“平”(...
Data Manipulation Language(DML) 需要提交,这部分是对数据管理操作,比如Insert(插入)、Update(修改)、Delete(删除), Data Definition Language(DDL) 不需要提交,这部分是对数据结构定义,比如 Create(创建)、Alter(修改)、Drop(删除) oracle的commit就是提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新...
Data Manipulation Language(DML) 需要提交,这部分是对数据管理操作,比如Insert(插入)、Update(修改)、Delete(删除); Data Definition Language(DDL) 不需要提交,这部分是对数据结构定义,比如 Create(创建)、Alter(修改)、Drop(删除) oracle的commit就是提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新...
commit只是确认更新数据库内容而已...和语句的效率没有什么关系
在Oracle数据库中,数据变更操作(如INSERT、UPDATE、DELETE)需要通过提交(commit)来使变更永久生效。如果不提交,这些变更仅在当前事务中可见,对其他事务不可见。如果会话意外终止或数据库发生故障,未提交的变更会被自动回滚,这意味着所有未提交的操作都将丢失。对业务来说,这可能会导致数据的不一致和完整性问题。例如,...
执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date file,而是记录了redo log file,要从内存写到data物理文件,需要触发检查点,由DBWR这个后台进程来写,这里内容有点多的,如果不深究的话你就理解成commit即为从内存更新到物理文件。锁有很多种,一般我们关注的都是DML操作产生的,比如insert,...
Oracle实例在运行中产生日志信息,首先被记录在SGA中的日志缓冲区中, 当发出commit命令后(或者日志缓冲区信息满1/3或者3S过去)时,LGWR进程将日志信息从日志缓冲区中读出并写到日志文件组序列号小的文件中, 一个日志组写满后接着写另外一组。 在DBWR工作之前,LGWR首先将事务变化写入到重做日志。