对于Mysql与Oracle的一些区别介绍
今天给大家介绍一下关于mysql与oracle的一些简便不同。(引荐:mysql视频教程)
1、事务提交
MySQL默许提交事务,同时必需要有START TRANSACTION
标记着一个事务的开端,不然使用rollback没法回滚数据。
Oracle需要会员手动提交,需要写commit
命令或者点击commit
按钮。
2、分页查询
MySQL可以直接使用以下sql说话停止查询,有limit就可以实现分页。
select ... from ... where ... limit x,y
limit后面的两个参数中,x表示起始下标,从0开端,y表示返回的记载数。
但是oracle需要用到伪列ROWNUM
和嵌套查询。ROWNUM
表示一笔记录的行号,需要留意的是它在猎取一行后才给予。因此通过指定ROWNUM
区间来取得分页数据在一层查询说话中是没法做到的,还需要再停止一次查询。
3、事务隔离级别
MySQL的默许隔离级别为read
commited
,oracle的默许隔离级别为repeatable
。同时二者都支撑serializable串行化事务隔离级别,实现最高级别的读一致性。
4、对事务的支撑
MySQL在innodb
储备引擎的行级锁的状况下才可支撑事务,但是oracle则完全支撑事务。
5、留存数据耐久性
MySQL是在数据库更新或者重新启动,会丧失数据,Oracle把提交的sql操纵线写入了在线联机日志文件中,留存到了磁盘,是可以随时复原的。
6、并发性
MySQL以表级锁为主,对资源锁定的粒度很大,假如一个session对一个表加锁时间过长,会让其他session
没法更换此表中的数据。
虽然InnoDB
引擎的表可以用行级锁,但这个行级锁的机制依靠于表的索引,假如表没有索引,或者sql语句没有索引,那么依然使用表级锁。
Oracle使用行级锁,对资源锁定的粒度小许多,只是锁定需要的资源,并且加锁是在数据库中的数据行上,不依靠索引。所以Oracle对并发性的支撑好许多。
7、逻辑备份
MySQL逻辑备份时要锁定数据,才能包管备份的数据时一致的,影响了业务正常的dml
使用,Oracle逻辑备份时不锁定数据,且备份的数据是一致的。
8、复制
MySQL复礼服务器配置很简便,但是主库显现问题时,丛库大概会丧失必然数据,且需要手工切换从丛库。
Oracle既有推或拉式的传统数据复制,也有dataguard
的双机或多机容灾机制,主库显现问题时,可以主动切换备库到主库,但是数据治理比力复杂。
9、机能推断
MySQL的诊断调优办法较少,主要有慢查询日志。
Oracle有各种成熟的机能诊断调优工具,能够实现许多主动剖析。
10、权限与平安
MySQL的会员与主机有关,容易被冒仿主机及ip。
Oracle的权限与平安概念比力传统。
11、分区表与分区索引
MySQL的分区表不太成熟不乱。
Oracle的分区表和分区索引功效很成熟,可以提高会员拜访db的体验。
12、治理工具
MySQL的治理工具较少,同时linux下的治理工具的安置有时候需要安置额外的包,比力复杂。
Oracle有许多种成熟的命令行、图形界面、web治理工具,还有许多的第三方治理工具,比力高效利便。
最后:MySQL是轻量级的数据库,并且免费,没有效劳复原数据。
Oracle是重量数据库,收费,Oracle公司对Oracle数据库有任何效劳。
以上就是关于Mysql与Oracle的一些不同介绍的具体内容,更多请关注百分百源码网其它相关文章!