个中两个体系是MySQL和SQL Server。虽然它们具有奇特的用例,但它们都实行雷同的功用。它们运转差别的作风,然则配合基于SQL或结构化查询言语。因而,开辟人员能够期待MySQL和SQL Server之间的一些相似之处,比方运用表来存储数据,援用主键和外键,以及单个环境或效劳器中的多个数据库。
将MySQL和SQL Server称为现有的两种最盛行的RDBMS解决方案并非不正确的,只管Oracle和Postgres能够会对此有所申明。纵然我们逐步见证了从SQL向NoSQL的改变,前者依然是更具主导地位的存在。这意味着如今是进修MySQL或SQL Server的好时机。
在本指南中,我们将扼要引见MySQL和SQL Server的内容。我们将找出MySQL和SQL Server之间的区分,并协助您挑选最适合您需求的产物。
MySQL vs SQL Server
什么是MySQL?
MySQL是在90年代中期(厥后被Oracle收买)开辟的,它是最早的开源数据库之一,直到本日依然云云。这意味着MySQL有几种挑选。但这些变体之间的差别并不太显著; 语法和基础功用坚持一致。
已成为MySQL特性的东西是它在创业社区中的受欢迎水平。由于它是开源的和免费的,所以开辟人员能够轻松地最先运用MySQL,并在他们能够须要的极少数状况下修正其代码。MySQL一般与PHP和Apache Web Server 连系运用,在Linux发行版之上,这致使了有名的首字母缩略词LAMP(L inux,Apache,MySQL,PHP)。
什么是SQL Server?
SQL Server,也称为Microsoft SQL Server,比MySQL长很多。Microsoft在80年代开辟了SQL Server,并许诺供应牢靠且可扩大的RDBMS。这些年来,这些依然是SQL Server的中心质量,由于它是大型企业软件的首选平台。
SQL Server主要面向运用.NET作为开辟言语的开辟人员,而不是PHP for MySQL。这是有原理的,由于二者都属于微软的保护伞。
MySQL和SQL Server之间的主要区分
如今我们已概述了这些体系是什么,让我们看看MySQL和SQL Server之间的几个症结误差:
环境
如前所述,SQL Server最适合运用.NET,而MySQL能够与险些一切其他言语配对,最经常使用的是PHP。还应当提到的是,SQL Server过去只能在Windows上运转,但自客岁微软宣告Linux支撑SQL Server以来,状况发生了变化。只管云云,Linux版本还不够成熟,这意味着假如运用SQL Server,我们依然发起您继承运用Windows,假如运用MySQL,请切换到Linux。
语法
关于大多数人来讲,这是两个体系之间最主要的区分。熟习一套语法划定规矩能够极大地影响您决议哪一个体系最适合您。虽然MySQL和SQL Server都基于SQL,但语法上的差别依然很凸起,值得切记。比方,请看以下示例:
MySQL
SELECT age FROM person ORDER BY age ASC LIMIT 1 OFFSET 2
Microsoft SQL Server
SELECT TOP 3 WITH TIES * FROM person ORDER BY age ASC
两个代码块都完成了雷同的效果 - 从名为person的表中返回3个岁数最小的条目。但语法有了庞大的变化。固然,语法是主观的,所以我们不能给出任何发起; 挑选对你来讲更直观的东西。能够在此处找到MySQL和SQL Server之间的完成变动的完全列表。
SQL Server不仅仅是一个RDBMS
专有软件与开源软件的主要上风在于它所取得的独家支撑。在这类特别状况下,上风变得越发深远,由于SQL Server得到了环球最大的科技公司之一的支撑。Microsoft已为SQL Server构建了其他东西,这些东西与RDBMS绑缚在一起,包含数据剖析东西。它还具有报表效劳器 - SQL Server Reporting Services以及ETL东西。这使得SQL Server成为RDBMS的瑞士军刀。您也能够在MySQL上取得相似的功用,然则您必需为第三方解决方案残虐收集 - 对大多数人来讲并不抱负。
存储引擎
MySQL和SQL Server之间有时会疏忽的另一个严峻差别是它们存储数据的体式格局。SQL Server运用由Microsoft开辟的单个存储引擎,而不是为MySQL供应的多个引擎。这为MySQL开辟人员供应了更大的灵活性,由于他们能够根据速率,牢靠性或其他方面为差别的表运用差别的引擎。一个盛行的MySQL存储引擎是InnoDB,它落在频谱的较慢端,但坚持牢靠性。另一个是MyISAM。
查询作废
没有多少人晓得这一点,但MySQL和SQL Server之间潜伏的突破性差别是MySQL不许可您在实行中作废查询。这意味着一旦敕令最先实行,你最好愿望它能够形成的任何损伤都是可逆的。另一方面,SQL Server许可您在历程半途作废查询实行。关于数据库治理员而言,这类差别特别严峻,而Web开辟人员则实行剧本敕令,这些敕令在实行时期很少须要作废查询。
平安性
从表面上看,在比较MySQL和SQL Server之间的平安性差别时,没有什么可看的。二者都相符EC2规范,这意味着您大多平安地挑选二者中的任何一个。话虽云云,微软的影子在这里也很凸起,由于它为SQL Server装备了专有的,最先进的平安功用。专用平安东西 - Microsoft Baseline Security Analyzer - 确保SQL Server的壮大平安性。因而,假如平安是您的首要任务,那末您的挑选就是为您做出的。
本钱
这是SQL Server变得不那末有吸引力的处所,MySQL取得了重点。Microsoft请求您购置在SQL Server上运转多个数据库的许可证 - 有一个免费版本,但它只是为了让您熟习RDBMS。相比之下,MySQL运用GNU通用大众许可证,这使得它完全免费运用。但请注意,假如您须要MySQL的支撑或协助,您须要付费。
社区支撑
将我们带到下一点。虽然您能够付出MySQL支撑,但由于精彩的社区孝敬和对它的支撑,这类状况很少涌现。具有更普遍社区的长处是,大多数人没必要追求官方支援 - 他们能够搜刮收集并找到大批解决方案。
IDE
主要的是要注意两个RDMBS都支撑差别的集成开辟环境(IDE)东西。这些东西为开辟供应了一个有凝聚力的环境,您应当亲昵关注哪一个最适合您的需求。MySQL具有Oracle的企业治理器,而SQL Server运用Management Studio(SSMS)。二者都有其长处和瑕玷,假如您没有其他任何根据能够作出决议,能够会给您带来均衡。
结论
关于那些刚最先举行当代应用程序开辟的人来讲,RDMBS的挑选非常主要。挑选一个体系的人很少会稍后切换,这意味着衡量差别的产物并为您供应最好效劳至关主要。
在本篇文章中,我们议论了两种最普遍运用的RDMBS - MySQL和Microsoft SQL Server。我们研讨了MySQL和SQL Server之间的几个症结差别,以至个中一个能够足以使您的决议计划转向另一个。
终究,挑选权归你一切。根据履历,假如您正在开辟中/小型应用程序并主要运用PHP,请运用MySQL。但是,假如您对构建大规模,平安,有弹性的企业应用程序感兴趣,那末SQL Server应当就在您的“小巷”中。
以上就是sqlserver和mysql区分有哪些的细致内容,更多请关注ki4网别的相干文章!