mysql和oracle有什么区别


本文摘自PHP中文网,作者清浅,侵删。

mysql和oracle的区别有:mysql是属于开源项目不收费而oracle需要收费,mysql默认的是自动提交而oracle不是,mysql的语法较为灵活而oracle语法严格等等

对于很多小型项目来说,MySQL数据库可以基本上能够实现各种功能的需求,但是随着数据量的增大,MySQL就渐渐的出现不堪重负的情况,这时就需要用到Oracle数据库,接下来在文章中将为大家具体介绍这两者之间有什么区别,具有一定的参考作用,希望对大家有所帮助。

【推荐课程:MySQL教程

mysql和oracle的区别

(1)项目性质

MySQL是开源项目,不收任何费用,而Oracle是一款成熟的数据库产品是闭源的同时也是要收费的

(2)对事务的提交

MySQL默认是自动提交,而Oracle默认的是不自动提交,需要用户手动提交,需要在写commit指令或者点击commit按钮

(3)SQL语法不同

MySQL的SQL语法较为灵活,而Oracle的语法较为严格

(4)分页查询

MySQL是直接在SQL语句中写"select... from ...where...limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询

(5)对事务的支持

MySQL在innodb存储引擎的行级锁的情况下才可以支持事务,而Oracle则完全支持事务

(6) 保存数据的持久性

MySQL会在数据库更新或者重启之后会丢失数据,而Oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复

(7)线程的不同

MySQL是属于单进程多线程,而Oracle是属于多进程(在Windows下也是单进程)。与Windows操作系统和Linux操作系统间的区别相似,Windows下只能使用一个用户,或者你可以在不同用户之间做切换,而Linux是多用户或者相同用户可以同时连接操作系统。

(8)权限与安全

MySQL的用户与主机有关,而且容易被仿冒主机及ip有可乘之机;而Oracle的权限与安全概念比较传统,中规中矩。

(9)分区表和分区索引

MySQL的分区表还不太成熟稳定,而Oracle的分区表和分区索引功能很成熟,可以提高用户访问db的体验

(10)并发性

MySQL以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。

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

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上就是mysql和oracle有什么区别的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql和oracle有什么区别

更多相关阅读请进入《mysql、oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...