oracle和mysql的区别

来源:互联网 发布:射手播放器 mac破解版 编辑:程序博客网 时间:2024/05/22 12:58

  oracle和mysql的区别

在找工作之际,以前用过oracle和mysql,却从来没有总结过。

oracle 和mysql作为主流关系型数据库,先如今都是甲骨文公司的两大成员。

1.oracle是重量级的,不仅在安装的时候有13G左右,运行时所占的内存和系统资源也是非常大的。一般个人开发都是把  控制面板—管理工具一服务里面有关oracle的服务改为手动,等到用的时候再启动,不过一般我们用pl/sql developer继承开发环境只需要启动oracle Listenter 和所需的数据库名的server。

 mysql安装所需的空间就小很多啦,在150M左右

2.oracle支持大并发,大访问量。

3.重要的一点mysql是开源的,而oracle价格非常高

 

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在这方面还是比较的若

0 0
原创粉丝点击