oracle和mysql的区别

发布网友 发布时间:2022-04-22 06:26

我来回答

5个回答

懂视网 时间:2022-04-30 07:57

     

  

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle与MySQL的转化差异

标签:oracle   mysql   

热心网友 时间:2022-04-30 05:05

1、一致性

Oracle :Oracle 支持可序列化的隔离级别,可以达到最高级别的读一致性。每个会话提交后,其他会话可以看到提交的更改。 Oracle通过在undo表空间构造多版本数据块来实现读一致性,在每次会话查询期间,如果相应的数据块发生变化,Oracle 将在 undo 表空间中为会话构造旧的数据块。

mysql:MySQL没有类似于Oracle的多版本数据块构造机制,只支持读提交的隔离级别。当一个会话读取数据时,其他会话不能更改数据,但可以在表的末尾插入数据。会话更新数据时,必须加排他锁,其他会话无法访问数据。

2、数据持久化

Oracle:确保提交的数据可以恢复,因为Oracle将提交的sql操作行写入在线联机日志文件中,并保存在磁盘上。如果数据库或主机出现异常重启,重启后oracle可以通过获取在线在线日志来恢复客户提交的数据。

mysql:sql语句是默认提交的,但是如果更新过程中出现db或者host重启的问题,可能会丢失数据。

3、并发

mysql:MySQL主要基于表级锁,资源锁的粒度非常大。如果某个会话锁定表的时间过长,其他会话将无法更新该表中的数据。虽然 InnoDB 引擎的表可以使用行级锁,但是这种行级锁的机制取决于表的索引。

Oracle:Oracle 使用行级锁。资源锁的粒度要小得多。它只是锁定SQL所需要的资源,并且锁定在数据库中的数据行上,不依赖于索引。所以Oracle对并发的支持要好很多。

4、逻辑备份

Oracle:逻辑备份不锁数据,备份的数据是一致的。

mysql:逻辑备份时数据必须加锁,保证备份的数据一致,影响业务正常使用dml。

热心网友 时间:2022-04-30 06:23

oracle是收费的,MYSQL是开源的。都是数据库。功能上ORACLE属于商业化大型数据库,付费后能得到较好的服务。MYSQL可以不用付费,但要求支持还是需要付费的。功能上仁者见人,智者见智。个人认为oracle适合安全的,规模较大的需求。规模中等的,功能上要求不是非常复杂的,可以选择mysql.

热心网友 时间:2022-04-30 07:58

mysql是中小型数据库 安装后所占资源比较少 有免费版 开放源代码
oracle是大型数据库

热心网友 时间:2022-04-30 09:49

oracle 是企业用的
mysql是小公司用的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com