边肖将与您分享oracle和mysql之间的差异。相信大部分人都不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章能有很多收获。我们一起来看看吧!
区别:1。Oracle是大型数据库,Mysql是中小型数据库;2.Mysql开源,甲骨文收费;3.Mysql默认不支持事务,而Oracle完全支持事物。4.Oracle默认手动提交,Mysql默认自动提交。
本教程的操作环境:windows7系统,mysql8版本,戴尔G3电脑。
MySQL和Oracle的区别
一、宏观上:
1.Oracle是大型数据库,Mysql是中小型数据库;Mysql是开源的,而Oracle收费又贵。
2.Oracle是OLTP的最佳工具,因为它支持大并发和大访问。
3.安装占用的内存也不一样。Mysql安装后占用的内存远小于Oracle占用的内存,Oracle用得越多,占用的内存就越多。
二、微观上:
1、对于事务的支持
Mysql默认不支持事务,但是有一些存储引擎,比如innodb。甲骨文完全支持的东西。
2、数据的持久性
确保Oracle提交的所有事务都可以恢复,因为Oracle会将提交的sql操作行写入在线日志文件并保存到磁盘。如果数据库或主机异常重启,重启Oracle可以通过在线日志还原客户提交的数据。
默认情况下,Mysql会提交sql语句,但是如果在更新过程中出现数据库或主机重启的问题,数据也可能会丢失。
3、事务隔离级别
MySQL是可重复读取的隔离级别,而Oracle是readcommitted的隔离级别。同时,两者都支持可序列化事务的隔离级别,可以达到最高级别。
阅读一致性。只有提交每个会话后,其他会话才能看到提交的更改。Oracle通过在还原表空间中构建多版本数据块来实现读取一致性。当每个会话进行查询时,如果相应的数据块发生变化,Oracle将在还原表空间中为此会话构建旧的数据块。
MySQL没有类似Oracle的构造多版本数据块的机制,只支持读提交的隔离级别。当一个会话读取数据时,其他会话不能更改数据,但可以在表的末尾插入数据。更新会话数据时,需要添加排他锁,其他会话无法访问数据。
4、提交方式
默认情况下,Oracle不会自动提交,但需要手动提交。默认情况下,Mysql会自动提交。
5、逻辑备份
Mysql逻辑备份是锁定数据,保证备份数据的一致性,影响DML(数据操作语言)的正常使用。Oracle在逻辑备份过程中不会锁定数据,备份的数据是一致的。
6、sql语句的灵活性
Mysql对sql语句有很多非常实用方便的扩展,比如limit函数(分页),insert可以一次插入多行数据;甲骨文在这方面感觉比较稳定和传统。Oracle的分页是通过伪列和子查询完成的,数据只能逐行插入。
7、数据复制
MySQL:复制服务器配置简单,但是当主库出错时,集群库可能会丢失一些数据。且集群库需要手动切换到主库。
甲骨文:既有推或拉的传统数据复制,也有dataguard的双机或多机容灾机制。主库的问题是备份库可以自动切换到主库,但是配置管理比较复杂。
8、分区表和分区索引
MySQL的分区表不够成熟稳定;Oracle的分区表和分区索引功能非常成熟,可以提升用户访问db的体验。
9、售后与费用
甲骨文收费,如果出了问题,打电话给客服;Mysql是免费开源的,可以自己解决问题。
10、权限与安全
甲骨文的权威和安全概念比较传统,还是挺满意的。MySQL用户与主机有关,这是没有意义的。此外,它们更容易被主机和ip伪造。
11、性能诊断方面
Oracle有各种成熟的性能诊断和调优工具,可以实现很多自动分析和诊断功能。如awr、addm、sqltrace、tkproof等。MySQL的诊断调优方法很少,主要是慢查询日志。
以上就是文章《oracle和mysql有什么区别》的全部内容感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145792.html