【Oracle与MySQL区别】

1、mysql是中小型开源数据库,而oracle是大型收费的关系型数据库。

(1)mysql默认端口3306,默认用户是root;

(2)oracle默认端口1521,默认用户是system;

2、oracle内存占用量非常大,而mysql非常小。

(1)mysql登录:mysql -hip -P端口号 -D数据库名 -u用户 -p密码 ;

(2)oracle登录:sqlplus user/password@ip:port/instance_name;

3、数据库层次结构。

(1)mysql默认用户是root,用户可以创建多个数据库,每个数据库下可以有多张表,一般情况下都是使用默认用户,不会创建多个用户;

(2)oracle是单实例,一个数据库下有多个用户,不同用户具有多张表;

4、数据库中表字段类型不同。

(1)mysql的整数类型有单字节的tinyint、双字节的smallint、三字节的mediumint、四字节的int或integer、八字节的bigint,浮点类型有四字节的float和八字节的double,日期类型有date、time、year、datetime、timestamp,字符类型有char、varchar、text。

(2)oracle的数值类型是number,字符类型有char、varchar、varchar2,日期型有date等。

5、 mysql支持自增长主键

而oracle主键的自增长需要依赖序列来实现。

6、引号的处理不同

mysql字符串可以使用双引用包起来,而oracle只可以使用单引号。

7、分页方式不同

mysql使用limit关键字,而oracle的分页需要使用rownum来实现。

8、事务的提交方式不一样

mysql默认是自动提交,可以修改为手动提交。oracle默认不自动提交,需要手动提交。

9、事务隔离级别的区别

mysql是可重复读,而oracle是读已提交。

10、并发性不一样

mysql是以表级锁为主,对资源锁定的粒度较大,如果一个会话对表加锁时间过长,会让其他会话无法更新此表的数据。虽然innodb引擎表可以使用行级锁,但这个行级锁机制依赖于表的索引,如果表没有索引,或者说sql语句没有使用到索引,那么仍然使用表级锁。oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库的数据行上,不依赖于索引,所以oracle对并发性的支持要好很多。

11、逻辑备份

mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的,会影响正常的DML使用。oracle逻辑备份时不锁定数据,且备份的数据是一致的。

12、判断真假方式不同

mysql中0、1判断真假,oracle中使用true、false来判断。

13、区分大小写不同

mysql在linux环境下区分大小写,oracle是不区分的。

14、日期转换不同方式不同

mysql使用dataformat函数进行日期转换,oracle采用to_date和to_char函数进行日期转换。

原文链接:https://blog.csdn.net/dolly_baby/article/details/128474536

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值