Oracle数据库之MySQL和Oracle相关_MongoDB_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • MongoDB

    当前位置:主页 > 数据库 > MongoDB >

    Oracle数据库之MySQL和Oracle相关

    时间:2019-08-03|栏目:MongoDB|点击:
  • 本文主要向大家介绍了Oracle数据库之MySQL和Oracle相关,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

    Oracle数据库之MySQL和Oracle相关

    MySQL和Oracle的区别:


    MySQL和Oracle都是流行的关系数据库管理系统(RDBMS),在世界各地广泛使用。大多数数据库以类似的方式工作。
    二者有何区别?两个数据库的特性是不同的,所以与Oracle相比,MySQL的使用方式不同;与MySQL相比,Oracle的使用情况有所不同。它们的特点也是不同的。


    1.本质的区别:


    Oracle数据库是一个对象关系数据库管理系统(ORDBMS)。它通常被成为OracleRDBMS或简称为Oracle,是一个收费的数据库。
    MySQL是一个开源的关系数据库管理系统(RDBMS)。它是世界上使用最多的RDBMS,作为服务器运行,提供多个数据库的多用户访问。它是一个开源、免费的数据库。


    2.数据库安全性:


    MySQL使用三个参数来验证用户,即用户名、密码和位置;Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。


    3.SQL语法的区别:


    Oracle的SQL语法与MySQL有很大不同。Oracle为称为PL/SQL的编程语言提供了更大的灵活性。Oracle的SQL*Plus工具提供了比MySQL更多的命令,用于生成报表输出和变量定义。


    4.存储上的区别:


    与Oracle相比,MySQL没有表空间,角色管理,快照,同义词和包以及自动存储管理。


    5.对象名称的区别:


    虽然某些模式对象名称在Oracle和MySQL中都不区分大小写,例如列,存储过程,索引等。但在某些情况下,两个数据库之间的区别大小写是不同的。
    Oracle对所有对象名称都不区分大小写;而某些MySQL对象名称(如数据库和表)区分大小写(取决于底层操作系统)。


    6.运行程序和外部程序支持:


    Oracle数据库支持从数据库内部编写,编译和执行的几种编程语言。此外,为了传输数据,Oracle数据库使用XML。
    MySQL不支持在系统内执行其他语言,也不支持XML。


    7.MySQL和Oracle的字符数据类型比较:


    两个数据库中支持的字符类型存在一些差异。对于字符类型,MySQL具有CHAR和VARCHAR,最大长度允许为65535字节(CHAR最多可以为255字节,VARCHAR为65535字节)。
    而Oracle支持四种字符类型,即CHAR,NCHAR,VARCHAR2和NVARCHAR2;所有四种字符类型都需要至少1个字节长;CHAR和NCAHR最大可以是2000个字节,VARCHAR2和NVARCHAR2的最大限制是
    4000个字节。可能会在最新版本中进行扩展。


    8.MySQL和Oracle的额外功能比较:


    MySQL数据库不支持其服务器上的任何功能,如Audit Vault。另一方面,Oracle支持其数据库服务器上的几个扩展和程序,例如Active Data Guard,Audit Vault,Partitioning和Data Mining等。


    9.临时表的区别:


    Oracle和MySQL以不同方式处理临时表。
    在MySQL中,临时表是仅对当前用户会话可见的数据库对象,并且一旦会话结束,这些表将自动删除。
    Oracle中临时表的定义与MySQL略有不同,因为临时表一旦创建就会存在,直到它们被显式删除,并且对具有适当权限的所有会话都可见。但是,临时表中的数据仅对数据插入表中的用户会话可见,
    并且数据可能在事务或用户会话期间持续存在。


    10.MySQL和Oracle中的备份类型:


    Oracle提供不同类型的备份工具,如冷备份,热备份,导出,导入,数据泵。Oracle提供了最流行的称为RecoveryManager(RMAN)的备份实用程序。使用RMAN,我们可以使用极少的命令或存
    储脚本自动化我们的备份调度和恢复数据库。
    MySQL有mysqldump和mysqlhotcopy备份工具。在MySQL中没有像RMAN这样的实用程序。


    11.Oracle和MySQL的数据库管理:


    在数据库管理部分,Oracle DBA比MySQL DBA更有收益。与MySQL相比,Oracle DBA有很多可用的范围。


    MySQL


    1.比较运算符能用"!="就不用"<>":
    "!="增加了索引的使用几率。
    2.明知只有一条查询结果,那就使用"LIMIT 1":
    "LIMIT 1"可以避免全表扫面,找到对应结果就不会再继续扫描了。
    3.为列选择合适的数据类型
    能用TINYINT就不用SMALLINT,能用SMALLINE就不用INT,道理你懂得,磁盘和内存消耗越小越好嘛。
    4.将大的DELETE,UPDATE or INSERT查询变成多个小查询
    能写一个几十行、几百行的SQL语句是不是显得逼格很高?然而,为了达到更好的性能以及更好的数据控制,应将它们写成多个小查询。
    5.使用UNION ALL 代替 UNION,如果结果集允许重复的话。因为UNINON ALL不去重,效率高于UNION.
    6.为获得相同结果集的多次执行,请保持SQL语句前后一致。这样做的目的是为了充分利用查询缓冲。
    比如根据地域和产品ID查询产品价格,第一次使用了:
    SELECT price FROM order WHERE id='123456' and region='BEIJING'
    那么第二次同样的查询,请保持以上语句的一致性,比如不要将where语句里面的id和region位置调换顺序。
    7.尽量避免使用"SELECT "
    如果不查询表中的所有的列,尽量避免使用SELECT ,因为它会进行全表扫描,不能有效利用索引,增大了数据库服务器的负担,以及它与应用程序客户端之间的网络IO开销。
    8.WHERE子句里面的列尽量被索引
    只是”尽量“,并不是所有的列。因地制宜,根据实际情况进行调整,因为有时索引太多也会降低性能。
    9.JOIN子句里面的列尽量被索引。同样只是”尽量“,并不是说所有的列。
    10.ORDER BY 的列尽量被索引。OEDER BY的列如果被索引,性能也会更好。
    11.使用LIMIT实现分页逻辑。不仅提高了性能,同时减少了不必要的数据库和应用间的网络传输。
    12.使用EXPLAIN关键字去查看执行计划。EXPLAIN可以检查索引使用情况以及扫描的行。
    总结:SQL调优方法很多,同样的查询结果可以有很多种不同的查询方式。其实最好的方法就是在开发环境中用最贴近真实的数据集和硬件环境进行测试,然后再发布到生产环境中。


    Oracle


    上一篇:Oracle数据库之【OCP-12c】CUUG 071题库考试原题及答案解析(21)

    栏    目:MongoDB

    下一篇:Oracle数据库之Oracle:decode函数

    本文标题:Oracle数据库之MySQL和Oracle相关

    本文地址:http://www.jh-floor.com/shujuku/MongoDB/15169.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号