暂无图片
Oracle和MySQL在事务上实现有什么区别
我来答
分享
你是我的唯一
2022-10-26
Oracle和MySQL在事务上实现有什么区别

Oracle和MySQL在事务上实现有什么区别

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
张sir

1、mysql只有innodb支持事务,其他引擎不支持,oracle天生就支持

2、mysql的默认隔离级别时可重复读,也支持读提交,oracle默认的是都提交。

3、mysql的事务默认自动提交,oracle需要手动提交。

4、mysql有binlog和redo的概念,需要设置双1配置才能保证数据库crash后的一致性,oracle只有redo的概念,不需要特殊配置就能实现crash后不丢数据。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
李宏达

Oracle中是隐式开启事务,对于一个session中的dml语句,就会自动开启事务,加入一把TX锁。
而在MySQL中却是需要使用start transaction来显示声明的。

暂无图片 评论
暂无图片 有用 0
打赏 0
李宏达
答主
2022-10-26
Thomas

从事务级别上说,MYSQL比ORACLE还高一个档次,它是Repeatable Read,而ORACLE是Read Committed

暂无图片 评论
暂无图片 有用 0
打赏 0

对事务提交:
mysql默认是自动提交,可以修改为手动提交
oracle默认不自动提交,需要手动提交,需要在写commit指令或点击commit按钮。

对事务的支持:mysql只有innodb存储引擎才支持事务,而oracle则完全支持事务。


事务隔离级别:
mysql是repeatable read的隔离级别,而oracle是read commited的隔离级别;同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的读一致性。每个session提交后其它session才能看到提交的更改;
oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo空间中为这个session构造它查询时的旧的数据块;
mysql没有类似oracle的构造多版本数据的机制,只支持read commited的隔离级别,一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据;session更新数据时,要加上排它锁,其他session无法访问数据。


暂无图片 评论
暂无图片 有用 5
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle12c有主键的表做了闪回数据归档但某段时间闪回查询出现重复记录,为什么?
回答 1
可能有以下原因:闪回数据归档的实现机制:闪回数据归档通过后台进程异步读取UNDO数据并写入专用表空间。如果在归档过程中,数据的写入顺序或时间戳处理不当,可能会导致某些记录被重复归档。事务并发问题:在高
ORA-00600
回答 3
ORA600是Oracle数据库的一个错误代码,通常表示数据库遇到了一个严重的内部错误。ORA600错误通常与数据库的内部操作有关,可能是由于软件缺陷、硬件故障或配置错误等原因引起的。通常是bug引起
谁做过用Oracle SMTP包自动发邮件实现实时告警?
回答 3
已采纳
为了实现您描述的自动发送邮件的实时告警功能,可以使用Oracle数据库中的DBMSSCHEDULER和UTLMAIL包。以下是针对您提到的三个场景的具体实现方法:1.工厂设备down机告警当工厂设备d
oracle 等待事件Data file init write
回答 1
等待事件"Datafileinitwrite"表示正在等待数据文件初始化写入完成。当数据库扩展数据文件时,可能需要进行一些初始化工作,这包括在文件中预分配一些空间,以便在将来的写入操作中使用。这通常是
如何根据spid查询数据库进程在干啥?
回答 1
已采纳
1.top获取耗cpu或者内存高的数据库进程2.使用以下sql获取sqltextselectsqltextfromv$sqlareawhere(address,hashvalue)in(select/
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 能直接升级到21c吗?还是要先升级到19c
回答 1
直接可以升级到21c的版本:oracle数据库12.2.0.1,18c,19c所以您这个可以直接升级到21c
oracle 11g dbca安装报错out off memory. ora-01034: oracle not available
回答 1
dfh看下linux系统的tmpfs值大小
oracle怎么删除唯一键的索引?
回答 2
已采纳
去掉约束再删除索引
关于自连接那两个说法是正确的?
回答 2
已采纳
两个可以
Oracle 11.2.0.4 impdp导入时报错
回答 1
impdpCCENSE/CCENSE,impdp后用户如果写成system/password会怎样?172.16.233.11:1521/bdbus指向的是本地的库么?你是在目标主机上运行导入的么?
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~