关系型数据库(Oracle与MySQL优缺点、使用区别)

MySQL的特点

1、性能卓越,服务稳定,很少出现异常宕机;

2、开放源代码无版本制约,自主性及使用成本低;

3、历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;

4、软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;

5、支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持

MySQL的缺点

1、MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变;

2、MySQL的另一个主要的途径之一是缺乏标准的RI(Referential  Integrity-RI)机制,RI限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿;

3、MySQL不支持热备份;

Oracle的特点

1、兼容性:Oracle产品采用标准SQL,并经过美国u构架标准技术所(NIST)测试,与IBM  SQL/DS、DB2、INGRES、IDMS/R等兼容。

2、可移植性:Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在多种 大、中、小型机上,可在多种操作系统下工作。

3、可联结性:Oracle能与多种通讯网络相连,支持各种协议。

4、高生产率:Oracle产品提供了多种开发工具,能极大地方使用户进行进一步的开发。

5、开放性:Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle   RDBMS具有良好的开放性。

 

Oracle的缺点

1、对硬件要求很高;

2、价格比较昂贵;

3、管理维护麻烦一些;

4、操作比较复杂,需要技术含量高;

 

MySQL与Oracle的应用区别

1、主键的使用:

MySQL:一般使用自动增长类型,在创建表的时候只要指定表的主键为auto increment,插入记录时就不需要再为主键添加记录了,主键会自动增长;

Oracle:没有自动增长,主键一般使用序列,插入记录时将序列号的下一值付给该字段即可,只是ORM框架只是需要native主键生成策略即可。

2、长字符串的处理

长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字符,

如果要插入更长的字符串,请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度值都应该提出警告,返回上次操作。

3、模糊查询的比较

MySQL:用字段名like%'字符串%'

Oracle:也可以用字段名like%'字符串%'但这种方法不能使用索引,速度不快,用字符串比较函数

isnert(字段名,‘字符串’)>0会得到更精确的查找结果

4、空字符串的比较:

MySQL的非空字段也有空的内容,Oracle里定义了非空字段就不容许有空的内容。按MySQL的not null来定义Oracle表结构。

导数据的时候就会产生错误。因此导数据时对空字符进行判断,如果为Null或空字符,需要把它改成一个空格的字符串。

5、单引号的处理

MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串,在插入和修改字符串前必须做单引的替换;

把所有出现的一个单引号替换成两个单引号

posted @ 2019-02-19 11:05  成胜文  阅读(10617)  评论(0编辑  收藏  举报