欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql和oracle有什么区别

程序员文章站 2022-03-17 08:23:31
...
mysql和oracle的区别有:mysql是属于开源项目不收费而oracle需要收费,mysql默认的是自动提交而oracle不是,mysql的语法较为灵活而oracle语法严格等等

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

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