与oracle相比,mysql有什么优势

这篇具有很好参考价值的文章主要介绍了与oracle相比,mysql有什么优势。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Oracle与MySQl对比,

并发性

并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。

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

虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。

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

一致性

oracle:支持serializable的隔离级别,可以实现最高级别的读一致性。每个session提交后其他session才能看到提交的更改。oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。

mysql:没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。

session更新数据时,要加上排它锁,其他session无法访问数据。

事务

oracle:很早就完全支持事务。

mysql:在innodb存储引擎的行级锁的情况下才支持事务。

数据持久性

oracle:保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。

mysql:默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。

提交方式

oracle:默认不自动提交,需要用户手动提交。

mysql:默认是自动提交。

逻辑备份

oracle:逻辑备份时不锁定数据,且备份的数据是一致的。

mysql:逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的dml使用。

热备份

oracle:有成熟的热备工具rman,热备时,不影响用户使用数据库。即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的回复。

mysql:

myisam的引擎,用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml操作。

innodb的引擎,它会备份innodb的表和索引,但是不会备份.frm文件。用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其他用户使用数据库。但此工具是收费的。

innobackup是结合ibbackup使用的一个脚本,他会协助对.frm文件的备份。

sql语句的扩展和灵活性

mysql:对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。

oracle:在这方面感觉更加稳重传统一些。

复制

oracle:既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,主库出现问题是,可以自动切换备库到主库,但配置管理较复杂。

mysql:复制服务器配置简单,但主库出问题时,丛库有可能丢失一定的数据。且需要手工切换丛库到主库。

性能诊断

oracle:有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr、addm、sqltrace、tkproof等

mysql:的诊断调优方法较少,主要有慢查询日志。

权限与安全

mysql:的用户与主机有关,感觉没有什么意义,另外更容易被仿冒主机及ip有可乘之机。

oracle:的权限与安全概念比较传统,中规中矩。

分区表和分区索引

oracle:的分区表和分区索引功能很成熟,可以提高用户访问db的体验。

mysql:的分区表还不太成熟稳定。

语法区别:

http://www.htsjk.com/teradata/33824.html

www.htsjk.Com

true

http://www.htsjk.com/teradata/33824.html

NewsArticle

Oracle与MySQl对比, 并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql:以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过…文章来源地址https://www.toymoban.com/news/detail-471786.html

到了这里,关于与oracle相比,mysql有什么优势的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB是什么、有哪些优势、对比mysql,es、docker安装

    MongoDB是面向文档的NoSQL数据库(是一个介于关系数据库和非关系数据库之间的产品),用于大量数据存储的分布式文件存储型数据库。基于灵活的 json文档模型(BSON) ,非常适合敏捷式快速开发。 具有高可用,高水平扩展能力,处理海量、高并发的数据应用时非常有优势 。

    2024年02月11日
    浏览(43)
  • 为何要使用MySQL?MySQL和Oracle的区别有什么?

    大家好,我是哪吒。 MySQL是一种流行的开源关系型数据库。 MySQL有以下几个优势: 开源免费; 跨平台性,MySQL可以运行在各种系统上,比如Windows、Linux、Mac,让它适合作为跨平台应用程序的数据库; 高可靠性,支持事务、数据备份、恢复等功能,保证数据的高可靠性; 高性

    2024年02月03日
    浏览(74)
  • 64位和32位相比优势是什么(一)

    前置知识:程序是如何执行的? 一道常规的面试题:相比 32 位,64 位的优势是什么 ? 面试官考察这种类型的问题,主要是想看求职者是否有扎实的计算机基础,同时想知道求职者在工作中是否充满好奇,会主动学习、寻根问底,毕竟 32、64 位是经常出现在程序员视野的词汇

    2024年02月09日
    浏览(34)
  • 相比于rnn, lstm有什么优势

    相对于常规的循环神经网络(RNN),长短期记忆网络(LSTM)具有以下优势: 处理长期依赖性:LSTM通过引入记忆单元和门控机制来解决传统RNN中的梯度消失和梯度爆炸问题。LSTM能够更好地捕捉时间序列数据中的长期依赖关系,使其在处理长序列和长期依赖性任务时表现更出色

    2024年01月20日
    浏览(36)
  • 【Oracle】oracle、mysql、sql server三者区别

    欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Oracle》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平

    2024年04月09日
    浏览(41)
  • 什么是Fetch API?与传统的AJAX相比,有什么优势?

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月07日
    浏览(34)
  • ansible相比shell脚本自动化有什么优势

    Ansible自动化与Shell脚本自动化相比,具有以下几个显著的优势: 轻量级与无需代理 :Ansible的一个关键优势在于其轻量级和无需在被控制服务器上安装任何代理或客户端的特点。这极大地简化了部署和维护的流程,降低了复杂性和出错的可能性。而Shell脚本通常需要在每台服

    2024年04月25日
    浏览(46)
  • 与宝塔面板相比,1Panel 面板的优势是什么?

    宝塔免费版用户,1panel 内测用户,从 v2ex 看到 1Panel 发的帖,等了几个月进了内测群,现在用了半个多月,谈一下自己的感受: 安装速度快 1Panel 安装只需要一条命令,10几分钟就可以完成安装,主要是安装 docker 、docker-compose 和 1panel 的二进制文件,二进制文件只有50M不到,

    2024年02月11日
    浏览(41)
  • MySQL和Oracle区别

    由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别     (1) 对事务的提交     MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询     MySQL是直接在SQL语句中写\\\"select... from ...where...limit x, y\\\",有

    2024年02月14日
    浏览(42)
  • Mysql Oracle 区别

    mysql语法: oracle语法: 同样,删除时mysql需要指定表名,oracle则不需要 CLOB(Character Large Object)是一种用于存储大量字符数据的数据类型。它可以容纳高达2^32-1个字节的文本数据,适合存储大文本如文章、文档、XML等。 在MySQL的具体实现中,由于历史原因,没有直接对应的

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包