MySQL与SQL Server对比

在当今互联网应用中,数据库的扮演者越来越重要的角色,因此,某些关系数据库管理系统(RDBMS)也变得越来越流行。

其中两个流行的系统是

什么是 SqlServer

SQL Server,也称为 Microsoft SQL Server,比 MySQL 存在的时间要长得多。微软在80年代开发了 SQL Server,承诺提供可靠的、可伸缩的 RDBMS。经过这么多年,这些仍然是 SQL Server 的核心品质,因为它是大型企业软件的首选平台。

SQL Server 主要面向使用 .net 作为开发语言的开发人员,而不是使用 PHP 作为 MySQL。这是有道理的,因为两者都属于微软旗下。

MySQL与SQL Server区别

环境

SQL Server 最适合 .net,而 MySQL 可以与几乎所有其他语言相匹配,尤其是 PHP。还应该提到,SQL Server 过去只在 Windows 上运行,但自从微软宣布 Linux 支持 SQL Server 以来,情况发生了变化。

不过,Linux 版本还不够成熟,这意味着如果使用 SQL Server,我们建议您继续在 Windows 上工作,如果使用 MySQL,则切换到 Linux。

语法

对大多数人来说,这是两种制度之间最重要的区别。熟悉一组语法规则而不熟悉另一组语法规则会极大地影响哪种系统最适合您。

虽然 MySQL 和 SQL Server 都基于 SQL,但语法上的差异仍然很突出,值得注意。

SQL Server不仅仅是一个RDBMS

专有软件相对于开源软件的一个主要优势是独家支持,在这种特殊情况下,由于 SQL Server 得到了全球最大的技术公司 “微软” 的支持,这种优势变得更加深刻。

微软为 SQL Server 构建了附加工具,这些工具与 RDBMS 捆绑在一起,包括数据分析工具。它还提供了一个报表服务器— SQL server 报表服务,以及一个 ETL 工具。这使得 SQL Server 成为 rdbms 的瑞士军刀。你也可以在 MySQL 上获得类似的功能,但是你必须为第三方的解决方案而苦恼——这对大多数人来说并不理想。

存储引擎

MySQL 和 SQL Server 之间另一个经常被忽略的大区别是它们存储数据的方式,SQL Server 使用微软开发的单一存储引擎,而 MySQL 提供的是多个引擎。

这为 MySQL 开发人员提供了更大的灵活性,因为他们可以根据速度、可靠性或其他维度为不同的表使用不同的引擎。一个流行的 MySQL 存储引擎是 InnoDB,它属于比较慢的一种,但是保持了可靠性,另一个是 MyISAM。


性能方面

MySQL 包含一个缺省桌面格式 MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的 CPU 和内存。

SQLServer 服务器的稳定性要比它的竞争对手强很多,但是也必须增加额外复杂操作,磁盘存储,内存损耗等等。

恢复性

MySQL 主要表现在 MyISAM 配置中,这种方式有它固有的缺陷,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。

SQLServer 服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。

查询取消

很多人都不知道这一点,但是 MySQL 和 SQL Server 之间一个潜在的打破协议的区别,MySQL 不允许在执行过程中取消查询。这意味着,一旦命令开始执行,就无法停止,否则可能报错。

另一方面,SQL Server 允许中途取消查询执行,这种差异对于数据库管理员尤其不利,因为 web 开发人员执行脚本化的命令,在执行过程中很少需要取消查询。

安全

从表面上看,在比较 MySQL 和 SQL Server 之间的安全性差异时,没有太多需要注意的地方。两者都是符合 EC2,这意味着基本上可以放心地选择这两者中的任何一个。

尽管如此,微软的影子在这里也很突出,因为它已经为 SQL Server 配备了专有的、最先进的安全特性。一个专用的安全工具——Microsoft 基线安全分析器——确保 SQL 服务器的健壮安全性。因此,如果安全是主要优先事项,那么可以选择 SQL Server。