文档章节

Oracle与MySQL性能比较

谢思华
 谢思华
发布于 2013/11/15 17:39
字数 1306
阅读 3027
收藏 2

oracle优点:

1、处理速度快,非常快

2、安全级别高。支持快闪以及完美的恢复,即使硬件坏了 也可以恢复到故障发前的1s

3、几台数据库做负载数据库,可以做到30s以内故障转移

4、网格控制,以及 数据仓库方面 也非常强大

oracle缺点:

1.不开源

2.收费高

至于mysql:

1.号称世界最快的数据库,连yahoo、google都用它,又免费,前途无量

2.但是,mysql没有事务的概念

Oracle数据库与MySQL数据库的主要区别如下:

0 组函数用法规则
 
   mysql 中组函数在 select 语句中可以随意使用,但在 oracle 如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是 group by 子句中的列 否则报错
 
   eg
 
   select name count money  from user  ;这个放在 mysql 中没有问题 oracle 中就有问题了.............
 
   2 自动增长的数据类型处理
 
   MYSQL 有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。 ORACLE 没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
 
   CREATE SEQUENCE  序列号的名称 (最好是表名+序列号标记)  INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE
 
  其中最大的值按字段的长度来定, 如果定义的自动增长的序列号  NUMBER 6 最大值为 999999
 
   INSERT  语句插入这个字段值为: 序列号的名称. NEXTVAL
 
   3 单引号的处理
 
   MYSQL 里可以用双引号包起字符串, ORACLE 里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
 
   4 翻页的 SQL 语句的处理
 
   MYSQL 处理翻页的 SQL 语句比较简单,用 LIMIT  开始位置, 记录个数; PHP 里还可以用 SEEK 定位到结果集的位置。 ORACLE 处理翻页的 SQL 语句就比较繁琐了。每个结果集只有一个 ROWNUM 字段标明它的位置, 并且只能用 ROWNUM<100 不能用 ROWNUM>80
 
  以下是经过分析后较好的两种 ORACLE 翻页 SQL 语句(  ID 是唯一关键字的字段名 ):
 
  语句一:
 
   SELECT ID  [FIELD_NAME ,... ] FROM TABLE_NAME WHERE ID IN   SELECT ID FROM SELECT ROWNUM AS NUMROW  ID FROM TABLE_NAME WHERE  条件 1 ORDER BY  条件
 
   80 AND NUMROW < 100   ORDER BY  条件 3
 
  语句二:
 
   SELECT * FROM  ((  SELECT ROWNUM AS NUMROW  c * from  select [FIELD_NAME ,... ] FROM TABLE_NAME WHERE  条件 1 ORDER BY  条件
 
   80 AND NUMROW < 100   ORDER BY  条件 3
 
   5 长字符串的处理
 
  长字符串的处理 ORACLE 也有它特殊的地方。 INSERT UPDATE 时最大可操作的字符串长度小于等于 4000 个单字节, 如果要插入更长的字符串, 请考虑字段用 CLOB 类型,方法借用 ORACLE 里自带的 DBMS_LOB 程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
 
   6 日期字段的处理
 
   MYSQL 日期字段分 DATE TIME 两种, ORACLE 日期字段只有 DATE ,包含年月日时分秒信息,用当前数据库的系统时间为 SYSDATE 精确到秒,或者用字符串转换成日期型函数 TO_DATE ‘2001 08 01’ ’YYYY MM DD’ )年-月-日  24 小时:分钟:秒 的格式 YYYY MM DD HH24 MI SS TO_DATE ()还有很多种日期格式, 可以参看 ORACLE DOC .日期型字段转换成字符串函数 TO_CHAR ‘2001 08 01’ ’YYYY MM DD HH24 MI SS’
 
  日期字段的数学运算公式有很大的不同。 MYSQL 找到离当前时间 7 天用
 
   SUBDATE NOW (), INTERVAL 7 DAY ORACLE 找到离当前时间 7 天用
 
   SYSDATE   7
 
   MYSQL 中插入当前时间的几个函数是: NOW ()函数以 `'YYYY MM DD HH MM SS' 返回当前的日期时间,可以直接存到 DATETIME 字段中。 CURDATE ()以 ’YYYY MM DD’ 的格式返回今天的日期,可以直接存到 DATE 字段中。 CURTIME ()以 ’HH MM SS’ 的格式返回当前的时间,可以直接存到 TIME 字段中。例: insert into tablename  fieldname  values  now ())
 
  而 oracle 中当前时间是 sysdate
 
   7 空字符的处理
 
   MYSQL 的非空字段也有空的内容, ORACLE 里定义了非空字段就不容许有空的内容。按 MYSQL NOT NULL 来定义 ORACLE 表结构, 导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为 NULL 或空字符,需要把它改成一个空格的字符串。
 
   8 字符串的模糊比较
 
   MYSQL 里用 字段名  like '% 字符串 %' ORACLE 里也可以用 字段名  like '% 字符串 %'  但这种方法不能使用索引, 速度不快,用字符串比较函数  instr (字段名, ' 字符串 ' >0  会得到更精确的查找结果。
 
   9 程序和函数里,操作数据库的工作完成后请注意结果集和指针的释放。

© 著作权归作者所有

谢思华
粉丝 77
博文 220
码字总数 152858
作品 0
广州
程序员
私信 提问
加载中

评论(1)

T
Troy_
mysql 没有事务的概念?
Oracle MySQL Or NoSQL?(转载)

转载: 作者:Sky.Jian (简朝阳) 链接:http://isky000.com/database/oracle-mysql-or-nosql-2 一些英文缩写的含义: Nosql: not only sql OLTP: 联机事务处理 OLAP:联机分析处理 去IOE:摆...

付磊-起扬
2015/09/12
0
0
汪源:与主流数据库相比MySQL具备的优势

  【IT168信息化】2012年9月14日消息,为期三天的(2012年9月13日~15日)由盛拓传媒旗下的IT168、ChinaUnix、ITPUB联合主办的第四届中国系统架构师大会于在北京永泰福朋喜来登酒店隆重召开。...

it168网站
2012/09/14
0
0
MYSQL性能调优与架构设计学习笔记 - 基础篇 MYSQL基本介绍

目录: 小结 MYSQL简介 MYSQL与其他数据库比较 MYSQL主要使用场景 小结: 通过本章学习了解MYSQL的大部分基本信息, 对于MYSQL主要特长以及使用场景有一个初步了解。 MYSQL简介 1.1.2 艰难诞...

邪恶的小Y
2011/08/31
187
0
mysql与Oracle的区别

一、并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql: mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他ses...

鲸落大叔
2018/06/17
0
0
oralce与mysql的区别

有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.   2. Oracle不支持偏移(offset)语法. 3. Oracle的复制功能可能比MySQL更加...

wersdffg
2015/10/17
75
0

没有更多内容

加载失败,请刷新页面

加载更多

还为PDF转Word抓狂?以下神器让你在职场倍受欢迎!

身在职场的你,是否一直在琢磨:如何能让自己在公司更受欢迎?如何才能在办公室里混个好人缘?如何在同事圈里留个好印象?其实,想要让自己成为受欢迎的人,只要让自己成为大家需要的人不就行...

foxit2world
6分钟前
1
0
AndServer+Service打造Android服务器实现so文件调用

so 文件调用 随着 Android 移动安全的高速发展,不管是为了执行效率还是程序的安全性等,关键代码下沉 native 层已成为基本操作。 native 层的开发就是通指的 JNI/NDK 开发,通过 JNI 可以实...

夜幕NightTeam
8分钟前
1
0
Docker下kafka学习三部曲之二:本地环境搭建

在上一章《 Docker下kafka学习,三部曲之一:极速体验kafka》中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来学习如何编写...

程序员欣宸
8分钟前
1
0
萌新推荐!不再为Excel转换PDF发愁,Aspose.Cells for .NET一步到位!

Aspose.Cells for .NET(点击下载)是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。 将Excel工作簿转换为...

mnrssj
9分钟前
1
0
对于绘画小白怎么画制服?该注意什么?

怎样制作学生服装?想必绘画初学者们常常会想的问题吧,不知道怎样才能画好人物的衣服,别着急,今日就在这儿讲一些关于如何绘画学生衣服校服的教程给我们!期望能够帮到你们! 轻便西装是不...

热爱画画的我
15分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部