Mysql与Oracle区别

文章分类:数据库

周五去一家公司去面试,那公司经理问了关于Mysql与Oracle的区别问题,以前没有总结,回答也不是很好,只是凭感觉,先总结如下:

1.

Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。

2. Oracle支持大并发,大访问量,是OLTP最好的工具。

3.
安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。

4.Oracle也Mysql操作上的一些区别

①主键

Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto
increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。

②单引号的处理

MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。

③翻页的SQL语句的处理

MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置,
记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,
并且只能用ROWNUM<100, 不能用ROWNUM>80

④ 长字符串的处理

长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节,
如果要插入更长的字符串,
请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。

⑤空字符的处理

MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT
NULL来定义ORACLE表结构,
导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。

⑥字符串的模糊比较

MYSQL里用 字段名 like ‘%字符串%‘,ORACLE里也可以用 字段名 like ‘%字符串%‘ 但这种方法不能使用索引,
速度不快。

⑦Oracle实现了ANSII SQL中大部分功能,如,事务的隔离级别、传播特性等而Mysql在这方面还是比较的若

来源:http://blog.sina.com.cn/s/blog_5d9ca4ea0100kmhy.html

时间: 2024-10-23 09:56:42

Mysql与Oracle区别的相关文章

Mysql与Oracle区别(转载)

Mysql与Oracle区别 文章分类:数据库 转载于http://blog.sina.com.cn/s/blog_5d9ca4ea0100kmhy.html 周五去一家公司去面试,那公司经理问了关于Mysql与Oracle的区别问题,以前没有总结,回答也不是很好,只是凭感觉,先总结如下: 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大访问量,是

模块与包 Mysql与Oracle区别

1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 2),模块的执行:import,每个模块都是一个独立的名称空间. 模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入imp

MySQL与Oracle(一)

初学SSH框架,在网上找资源作参考学习的时候,发现除了已经学习的MySQL,大部分也用Oracle.为了以后能更好的使用数据库,特地在网上找了相关的一些资料.算复习加学习吧. Mysql与Oracle区别: 1.  Oracle是大型数据库而Mysql是中小型数据库 2. Oracle支持大并发,大访问量,是OLTP最好的工具. 3. Mysql安装完后才150M左右而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能. 4.Oracle和Mysql操作上的一些区

MYSQL和ORACLE的一些区别

原文:http://www.cnblogs.com/wujin/archive/2012/02/02/2336055.html 有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到ORACLE的需求,应用程序也要相应做一些修改.总结出以下几点注意事项. 1. 自动增长的数据类型处理          MYSQL有自动增长的数据类型,插入记录时不用操作此字段,

Oracle/Mysql/SqlServer函数区别

mysql日期和时间格式转换 Linux scp 使用详解 Oracle/Mysql/SqlServer函数区别 2011-07-01 12:34:36|  分类: Mysql技术 |  标签:mysql  sqlsever  oracle  函数   |举报 |字号大中小 订阅 Sql代码 1.类型转换 --Oracle select to_number('123') from dual; --123; select to_char(33) from dual;  --33; select t

MySQL 和 Oracle 在 MyBatis 使用中的区别

MySQL 和 Oracle 在 MyBatis 使用中的区别: 区别 MySQL Oracle 存储过程的参数模式 mode 为 IN 时,是否需要指定 jdbcType 不需要:MyBatis 为 IN 模式提供了默认的 jdbcType,没有为 OUT 模式提供 如果入参存在 null 的情况,需要 存储过程的参数模式 mode 为 OUT 时,是否需要指定 jdbcType 需要 需要 是否支持游标参数 不支持 支持 原文地址:https://www.cnblogs.com/cag205

MySQL与Oracle的大小写问题

转载来源:http://aofengblog.blog.163.com/blog/static/63170212010101065030136/ MySQL与Oracle在大小写处理上的区别: 1MYSQL 1.在Windows下,数据库名.表名.字段名不区分大小写.2.大Linux/Unix下,数据库名.表名区分大小写,字段名不区分大小写.3.编辑/etc/my.cnf,设置lower_case_table_names可以让MySQL是否区分表名的大小写. 0:区分大小写:1:不区分大小写.

mysql和Oracle的简单比较

ORA-27101: shared memory realm does not exist解决方法: 1.用CMD进入命令行2.sqlplus /nolog3.conn / as sysdba4.startup 首先介绍一下SQL92/99标准的四大分类 DML(数据操纵语言): select,insert,update,delete DDL(数据定义语言): create table,alert table,drop table,truncate table DCL(数据控制语言): gran

Mysql、Oracle、Db2的比较

Process - - - database - Object Process - Server - User - Object Process - database - User - Schema - Object 依次是Mysql.Oracle.Db2 没做过oracle多实例,db2也是刚刚接触,浅显的理解 Mysql这种方式很初级最容易被人想到,Database与User分开是跟其他两个的区别,用授权来关联用户和数据库. jdbc的连接地址里面,三者分别指定了Database.User.