先来看看它们三个的流行趋势
MySQL和Oracle是一种使用SQL语言并由Oracle维护的数据库软件。Microsoft SQL Server也是一种使用SQL语言并由Microsoft维护的数据库工具。Oracle最早发行,紧接着是SQL Server和MySQL。
作为广泛使用的关系数据库管理系统(RDBMS),它们有一些相同的地方,比如辅助数据库模型都包含了文档储存和键值储存。但也存在很大差别。
服务器操作系统
SQL Server:
- Linux
- Windows
MySQL:
- FreeBSD
- Linux
- OS X
- Solaris
- Windows
Oracle:
- AIX
- HP-UX
- Linux
- OS X
- Solaris
- Windows
- z / OS
支持的编程语言
- SQL Server:C#、C ++、Delphi、Go、Java、JavaScript(Node.js)、PHP、Python、R、Ruby、Visual Basic
- MySQL:Ada、C、C#、C ++、D、Delphi、Eiffel、Erlang、Haskell、Java、JavaScript(Node.js)、Objective-C、OCaml、Perl、PHP、Python、Ruby、Scheme、Tcl
- Oracle:C、C#、C ++、Clojure、Cobol、Delphi、Eiffel、Erlang、Fortran、Groovy、Haskell、Java、JavaScript、Lisp、Objective C、OCaml、Perl、PHP、Python、R、Ruby、Scala、Tcl、Visual Basic
服务器端脚本
- SQL Server:Transact SQL和.NET语言
- MySQL:专有语法
- Oracle:PL / SQL
不同节点存储数据的方法
- SQL Server:表可以分布在多个文件中(水平分区);通过联合进行分片
- MySQL:水平分区,使用MySQL Cluster或MySQL Fabric进行分片
- Oracle:水平分区
数据库
- Oracle:最贵,功能最多,安装最不方便,Oracle环境里的其他相关组件最多,支持平台数量一般,使用中等方便,开发中等方便,运维中等方便,不开源,速度最慢,最安全。
- Microsoft SQL Server 2014:中等贵,功能最少,安装中等方便,Microsoft SQL Server 2014环境里的其他相关组件最少,支持平台最少,使用最方便,开发最方便,运维最方便,不开源,速度中等,一般安全。
- Mysql:免费,功能中等,安装最方便,Mysql环境里的其他相关组件数量中等,支持平台最多,使用最不方便,开发最不方便,运维最不方便,有开源版本,速度最快,最不安全。
Oracle的客户端和命令窗口,都是由用户决定内容 conn user_name/password;
MySQL的客户端和命令窗口,都是由数据库决定内容 use datebase;
Oracle和MSSQL的纯RDBMS层主要提供比MySQL和InnoDB更成熟的可编程环境。MySQL存储过程和触发器还不能匹配T-SQL和PL / SQL。在MySQL(RDBMS层)的MSSQL(报告服务,分析服务)和Oracle(数据仓库,RAC)之上有大量的集成工具和服务,MySQL尚未具备这些工具和服务。
总结
Oracle处理效能最快,而就以每秒交易量与价格比较的话,SQL Server最有效益,而MySQL也有不错的表现。Oracle传统,跨平台,稳定,适合OLTP,最接近数据库设计范式,一致性处理是最好的,也是最复杂的。适合金融,电信等企业。要想用好并发挥其性能,对管理员的能力要求较高。另维护成本较高。SQL Server目前只能在Windows系列执行,限制其发展。但在Unix与Linux都有非常高的稳定度与效能。MySql适合开发者,简单。不过随着Oracle的入主,功能越来越完善,又因为其开源,阿里开发了改进大数据库,性能和应用场景不断拓宽,形势大好。
转载自:https://www.zhihu.com/question/19866767/answer/426919833