MySQL和Oracle的区别?
MySQL和Oracle目前较流行的数据库,并且都是关系型数据库管理系统。
区别:
1.mysql是开源的项目,开源=免费,一般中小型企业考虑数据库肯定是首选。orcal是orcal公司退出成熟的数据库产品是闭源收费的,安装空间大,3点多个G。
2.mysql轻量型数据库;orcal 重量型数据库。
3.sql语句的扩展和灵活性:
mysql对sql语句有许多实用方便的扩展,有limit功能,insert可以一次插入多行数据,select 某些管理数据库可以不加from
orcal更传统一些。
4.对事务的提交:
mysql默认自动提交;orcal需要用户手动提交,需要在写commit指令或者点击commit按钮。
5.分页查询:
mysal直接在sql语句中写“select … from … where … limit … x,y”,有limit可以实现分页,自动增长的数据类型处理;orcal需要用到伪列rownum和嵌套查询。
6.对事务的支持:
mysql在innodb存储引擎的行级锁的情况下才支持事务;orcal完全支持事务。
7.MySQL是单进程多线程;Oracle是多进程(在Windows下也是单进程)。
8.性能诊断:
mysql的诊断调优方法较少,主要有慢查询日志;
oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr\addm\sqltrace\tkproof等。
9.管理工具:
mysql管理工具较少,在linux下的管理工具的安装有时要安装额外的包,有一定复杂性;oracle有多种成熟的命令行,图形界面,web管理工具,还有很多第三方的管理工具,管理及其方便高效。
10.保存数据的持久性:
mysql是在数据库更新或者重启,则会丢失数据;oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复。
11.自动增长的数据类型处理:
mysql是一个自动增长的数据类型,插入数据的时候,不需要管理,它自己会自动增长;Oracle不支持自动增长的数据类型,通过建立一个自动增长的序列号来完成自动增长。
12.oracle支持大并发,大访问量,是OLTP(On-Line Transaction Processing联机事务处理系统)最好的工具。
13.复制:
mysql复制服务器配置简单,但主库出问题时,从库有可能丢失一定的数据。且需要手工切换从库到主库;
oracle既有推或拉式的传统数据复制,也有dataguard的双机或多机容灰机制,主库出现问题时,可以自动切换备库到主库,但配置管理较复杂。
14.性能诊断:
mysql的诊断调优方法较少,主要有慢查询日志。
oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr\addm\sqltrace\tkproof等