一:MySQL和Oracle的区别
-
对事务的提交
-
MySQL默认是自动提交的,而Oracle默认是不自动提交的,需要用户手动提交
-
-
分页查询
-
mysql分页吃查询用到limit , 而Oracle得用伪列rownum和嵌套查询
-
-
事务隔离级别
-
mysql隔离级别为可重复读,而Oracle的为读已提交
-
-
.对事务的支持
-
MySQL在innodb存储引擎的行级锁的情况下才可支持事务,而Oracle则完全支持事务
-
-
保存数据的持久性
-
MySQL是在数据库更新或者重启,则会丢失数据,Oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复
-
-
并发性
-
MySQL以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。 虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。 Oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以Oracle对并 发性的支持要好很多。
-
-
MySQL是轻量型数据库,并且免费,没有服务恢复数据。Oracle是重量型数据库,收费,Oracle公司对 Oracle数据库有任何服务。