MySQL与Oracle的粗略对比

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

前言

首先先说自己的感受,我第一次使用Oracle是在我第一次的实习当中,包括我也在Leetcode中做了一些题目来练习,大家也可以做做,还是有收获的。
首先,我之前一直听说Oracle是要付费的,但其实它有免费版,我自己电脑上尝试装的是Oracle Database XE这个版本,具体阉割了什么,我就不说明了,我知道的是像partition不支持,但对于一般人来使用绝对够了。
对于如果个人使用的话,如果是我自己肯定不会去用的,首先安装Oracle估计就得花很长时间,而且并不支持Docker(网上有,但我没有成功)。Oracle体积也是很大的,我只能安装在Windows电脑上,我搞了半天才成功。而且在后期的学习中,关于Oracle网络上的文章要远远少于MySQL,毕竟不开源,很多东西也不知道为什么,如果有问题只能去Oracle社区提问。像我之前写的博客“ORA-01752: cannot delete from view without exactly one key-preserved table以及键保留表问题“,这里就反应出了这一点。
MySQL与Oracle的粗略对比,Oracle,mysql,oracle,数据库

不同之处

下文是我根据根据https://www.javatpoint.com/mysql-vs-oracle的文章进行翻译

MySQL Oracle
介绍 它是一个开源、跨平台的关系型数据库,由Swedish公司开发,现如今被Oracle收购 它是一个面向对象的关系数据库。它允许快速安全地存储和检索数据。它可以处理大量数据。
发行时间 1995 1980
费用 开源免费,依据GNU开源协议 需要拿到商业授权,但是也提供了免费的版本,对一些功能性能进行了阉割,仅推荐学生使用
可扩展性 适用于小型和大型企业 适合超大规模的部署
数据分区 不支持 支持
安全性 需要用户名、密码和服务器地址 需要用户名、密码和身份验证
Null值 支持 不支持
字符 支持CHAR和VARCHAR 支持CHAR,VARCHAR2,NCHAR和NVARCHAR2
备份机制 mysqlhotcopy和mysqldump 像backup、hot backup、import、export等
XML 不支持 支持
存储特性 它只支持一些,像是表空间、同义词、包等 它支持许多像是表空间、同义词、包等
锁机制 表锁定机制 表锁和行锁
语言 SQL SQL或PL/SQL
操作系统 Windows、Mac OS X、Linux、UNIX、z/OS、BSD、Symbian、AmigaOS Windows、Mac OS X、Linux、UNIX、z/OS

备注

  1. 数据分区是什么?
    它可以将一个大表分成多个小表,每个小表包含部分数据,并且可以根据需要进行查询和更新。这种技术可以提高查询性能、减少I/O操作和提高并发性。
    Oracle支持多种分区方式,包括范围分区、列表分区和散列分区等。其中,范围分区是最常用的一种方式,它根据某个字段的值将数据划分成多个区间,每个区间对应一个子表。列表分区则是根据一个固定的列表将数据划分成多个子表,散列分区则是根据数据的哈希值将数据划分成多个子表。

  2. 安全性里提到的身份验证是什么?
    我记得当时我实习时,同事帮我开Oracle权限,各种设置,很麻烦;而MySQl就很容易了,主机地址、账户、密码就可以登陆。

  3. Oracle不支持null值?
    Oracle不能存null,但能存空。我之前写过Oracle中Null和无值的区别,它不能存null,但能搜索出来null。

  4. 字符的具体区别
    在MySQL中,CHAR是一种固定长度的字符数据类型;而VARCHAR是一种可变长度的字符数据类型,它可以存储任意长度的字符串。
    在Oracle中,除了CHAR和VARCHAR之外,还有另外两种字符数据类型,NCHAR和NVARCHAR2。其中,NCHAR是一种固定长度的Unicode字符数据类型,它只支持ASCII码范围内的字符;而NVARCHAR2是一种可变长度的Unicode字符数据类型,它可以存储任意长度的Unicode字符串。

  5. 备份机制的区别
    在MySQL中,mysqlhotcopy是一种热备份机制,它可以在不停止数据库服务的情况下进行备份;而mysqldump是一种全备份机制,它需要停止数据库服务才能进行备份。
    对于Oracle,backup是一种基本的备份机制,它可以将整个数据库或表空间备份到一个文件中;hot backup是一种快速备份机制,它可以在不停止数据库服务的情况下进行备份;import和export是两种数据导入和导出机制,它们可以将数据从一个数据库导出到另一个数据库或者从一个文件导入到另一个文件中,还有以及一些其它的方式。

  6. XML是干什么的?
    XML指的就是xml文件格式,Oracle可以存储这些,而且还有进行精确搜索等。
    MySQL与Oracle的粗略对比,Oracle,mysql,oracle,数据库

  7. 什么是存储特性
    这个应该就是字面意思,我并没有查到相应的词条。就分别解释一下这三个词吧,首先是表空间,这个很简单,就是我们在一个数据库中创建的表;同义词,比较陌生,简单来讲,就是创建了个别名,好处像是多用户协同开发,管理员就可以创建一些别名,授权给其他它人员,可以隐蔽一些内容等;包,也比较陌生,就是比如你写了几个SQL,或者存储过程,需要把它们放在包中,在给它们起个名,之后就可以像调用函数一样调用它们。

  8. 锁机制的差别
    Mysql以表锁为主(也支持行锁,但比较难实现),对资源锁定的力度很大,如果一个会话对一个表加锁时间过长,会让其他会话无法更新此表的数据。
    Oracle使用行级锁,对资源锁定的力度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖于索引。所以oracle对并发性的支持要好很多。

  9. PL/SQL是什么
    PL/SQL是Oracle基于SQL的扩展,加入了很多SQL 里面没有的编程元素,支持像是变量,循环,函数,错误处理等等,总之就是比SQL更强大

总结

总之Oracle会在各方面碾压MySQL,包括像性能、可扩展性、可靠性、功能等等方面都要强于MySQL。而且MySQL在2009年被甲骨文公司收购,这也决定了MySQL市场定位,它的各种性能肯定是低于Oracle的。文章来源地址https://www.toymoban.com/news/detail-547962.html

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

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

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

相关文章

  • 从 Oracle 到 MySQL 数据库的迁移之旅

    目录 引言 一、前期准备工作 1.搭建新的MySQL数据库 2 .建立相应的数据表 2.1 数据库兼容性分析 2.1.1 字段类型兼容性分析 2.1.2 函数兼容性分析 2.1.3 是否使用存储过程?存储过程的个数?复杂度? 2.1.4 是否使用触发器?个数?使用的场景? 2.2 建表过程中其他需要注意的事项

    2024年04月11日
    浏览(40)
  • Mysql和Oracle数据库死锁查看以及解决

    一、Mysql数据库死锁排查 SQL : SQL: SQL: 示例: 备注:通过查看事务的trx_started(开始时间)来判断该事务的阻塞时间。 SQL  : 备注:线程ID指的是 1.1.3步骤中查询出来的 trx_mysql_thread_id。 SQL : 示例 : 字段解析 : SQL : 示例: SQL : 备注:多个session用逗号隔开。 View Code   造

    2024年01月20日
    浏览(33)
  • 查询Oracle和MySQL数据库中当前所有连接信息

    查询Oracle当前所有连接信息: 查询MySQL当前所有连接信息: 在这两个查询中,我为每个字段添加了中文别名,以提高查询结果的可读性

    2024年02月12日
    浏览(55)
  • 数据库加密AES 适用 Mysql Oracle 以及java

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 备忘录:加密key为:vU4C!~0_HQtlU_p@ 可采用任意长度为16位的字符串 数据库数据需要对敏感数据进行加密,比如手机号,身份证号以及银行卡号等进行加密。需要一套通用的加密方法可以在java项目以及or

    2024年02月15日
    浏览(38)
  • DataGrip连接数据库设置(MySQL、Oracle、SQL Server)

    1.1 配置信息 1.2 测试查询employees库中departments表信息 employees为测试库,具体来源,参考这篇文章 下载并导入MySQL示例数据库employees 。 1.3 测试查询employees库中employees表信息 将SID改为orcl: 3.1 打开DG后新建Data Source-Microsoft SQL Server 下载驱动文件后按图中配置: 3.2 开启Named Pipes和

    2024年02月12日
    浏览(38)
  • 从MySQL迁移到Oracle数据库的详细步骤和方法

    在一些情况下,可能需要将现有的MySQL数据库迁移到Oracle数据库。本文将详细介绍如何进行这一迁移过程,涵盖了备份、转换和导入等关键步骤,以帮助你顺利完成数据库迁移。 在开始迁移之前,务必备份你的MySQL数据库,以便在出现问题时可以还原数据。 确保你已经安装了

    2024年02月08日
    浏览(40)
  • docker安装mysql、clickhouse、oracle等各种数据库汇总

    1:docker 安装mongo数据库并使用 官网:https://www.mongodb.com/docs/manual/ mongo shell教程1:http://c.biancheng.net/mongodb2/connection.html 安装1 :https://www.zhihu.com/question/54602953/answer/3047452434?utm_id=0 安装2:https://www.duidaima.com/Group/Topic/ArchitecturedDesign/9182 使用驱动进行java开发:https://mongodb.github.

    2024年02月10日
    浏览(40)
  • 使用Apache Doris自动同步整个 MySQL/Oracle 数据库进行数据分析

    Flink-Doris-Connector 1.4.0 允许用户一步将包含数千个表的整个数据库(MySQL或Oracle )摄取到Apache Doris(一种实时分析数据库)中。 通过内置的Flink CDC,连接器可以直接将上游源的表模式和数据同步到Apache Doris,这意味着用户不再需要编写DataStream程序或在Doris中预先创建映射表。

    2024年02月09日
    浏览(43)
  • Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)

    前言:呈现的是非常基础必备命令以及常规关联语法,因涉及到不同数据库其表达都会有所区别,此篇纯属做个仓库记录更非常规持续更新,专业人士可忽略,且看且珍惜… MySQL: 关系型数据库、重点开源、支持大型规模、标准SQL数据语言、多平台多架构、高可用集群、可定

    2024年01月25日
    浏览(44)
  • 数据库sql 根据身份证计算年龄段mysql、oracle

    mysql: mysql通过函数可以精确到日 结果: Oracle: oracle只是年份相减,不够精确 结果:

    2024年02月12日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包