鉴于和数据库打交道日益频繁,遂决定写一篇关于Oracle、SqlServer、MySQL区别的我的观点。
MySQL是大学时的主要学习对象,但刚参加工做时转到了SqlServer,如今主要接触的是Oracle,因为其余数据库(例如DB2等)我并没用过,就不说起了。
事先说明:不必定对,欢迎指正,不吹不黑,不要骂我。
sql
所属公司:
MySQL是由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品;
Oracle是由美国ORACLE公司(甲骨文)开发的一组核心软件产品;
SqlServer是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,目前主属Microsoft;
sql语句的灵活性:
MySQL对sql语句更灵活,好比:limit功能,insert能够一次插入多行数据,select某些管理数据能够不加from;
oracle对sql语句的感受更加稳重传统一些;
SqlServer对sql语句那绝了,两个成语归纳:脚踏实地,步步为营;
保存数据的持久性:
MySQL是在数据库更新或者重启,则会丢失数据;
Oracle把提交的sql操做线写入了在线联机日志文件中,保持到了磁盘上,能够随时恢复;
SqlServer从2014以后,也拥有了彻底持久和延迟持久特性;
提交方式:
MySQL默认是自动提交(变量autocommit为ON);
oracle默认不自动提交,须要用户手动提交(commit);
SqlServer默认是自动提交,用户可手动中止(KILL);
对事务的支持:
MySQL在innodb存储引擎的行级锁的状况下才可支持事务;
Oracle则彻底支持事务;
SqlServer在非自动提交时才可支持事务;
对并发性的支持:
MySQL以表级锁(行级锁依赖于表索引)为主,若是一个session的加锁时间过长,会让其余session没法更新此表中的数据,即“悲观并发控制”;
Oracle使用行级锁,对资源锁定的粒度要小不少,而且不依赖索引,对并发性的支持要好不少,即“乐观并发控制”;
SqlServer在表、表的分页、索引键以及单独的数据行上支配共享锁、排它锁、以及更新锁,简单地说:读取时用共享锁,修改时用排它锁,更新锁则是共享锁和排他锁的一种混合;
逻辑备份:
MySQL逻辑备份时要锁定数据,才能保证备份的数据是一致的,会影响正常业务;
Oracle逻辑备份时不锁定数据,且备份的数据是一致;
SqlServer逻辑备份时要锁定数据,才能保证备份的数据是一致的,会影响正常业务;
复制备份:
MySQL复制服务器配置简单,但主库出问题时,丛库有可能丢失必定的数据;
Oracle既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,还有成熟的热备工具rman,主库出现问题时,能够自动切换备库到主库,但配置管理较复杂;
SqlServer的仅复制备份是独立于常规SQL Server备份序列的SQL Server备份。一般,进行备份会更改数据库并影响其后备份的还原方式。只用于:在不影响数据库整体备份和还原过程的状况下,为特殊目的而进行的备份。
性能诊断:
MySQL的诊断调优方法较少,主要有慢查询日志;
Oracle有各类成熟的性能诊断调优工具,能实现不少自动分析、诊断功能。好比awr、addm、sqltrace、tkproof等;
SqlServer性能检测工具备sql server profiler,性能调优工具备数据库引擎优化顾问,简单好用还炫酷;
权限与安全:
MySQL的用户与主机有关,更容易被仿冒主机及ip,有可乘之机,没什么意义;
Oracle的用户和root用户权限彼此分离,权限与安全概念比较传统,中规中矩;
SqlServer本机可用windows验证登陆,远程则用SqlServer验证登陆(即sa登陆);
相关服务:
MySQL是轻量型数据库,而且免费开源,没有服务恢复数据;
Oracle是重量型数据库,收费,Oracle公司对Oracle数据库有任何服务;
SqlServer是重量型数据库,收费(与Java有合做),也有支持供应商;
总结得出:
MySQL优势:体积小、速度快、整体拥有成本低,开放源码,搭配“L(Linux)A(Apache)M(MySQL)P(PHP/Perl/Python)“或“LN(Nginx)MP”就能够创建起一个稳定、免费的网站系统,适合中小型网站。
Oracle优势:使用方便、功能强大,可靠性好、安全性好、可移植性好、适应高吞吐量,适用于各种大、中、小、微机环境。
SqlServer优势:图形化用户界面,丰富的编程接口工具,与Windows NT彻底集成,支持分布式的分区视图,适用于Win的Web技术的开发。
因此理性来说,
这三个数据库各有所长。
用哪一个数据库,彻底取决你须要什么功能和服务。
固然啦,
也取决你有没有钱买你想要的服务。 (:ι」∠)数据库