欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL和SQLServer的比较

程序员文章站 2022-10-10 14:36:38
转自: 对于程序开发人员而言,目前使用最流行的两种后台数据库即为mysql和sqlserver。这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用sql来访问这...
转自:

对于程序开发人员而言,目前使用最流行的两种后台数据库即为mysql和sqlserver。这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用sql来访问这两种数据库的数据,因为它们都支持ansi-sql。 还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度。同时,二者也都提供支持xml的各种格式。除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的?让我们看看这两个产品的主要的不同之处,包括发行费用,性能以及它们的安全性。

根本的区别是它们遵循的基本原则

二者所遵循的基本原则是它们的主要区别:开放vs保守。sqlserver服务器的狭隘的,保守的存储引擎与mysql服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用sqlserver服务器的sybase引擎,但mysql能够提供更多种的选择,如myisam, heap, innodb, and berkeley db。mysql不完全支持陌生的关键词,所以它比sqlserver服务器要少一些相关的数据库。同时,mysql也缺乏一些存储程序的功能,比如myisam引擎联支持交换功能。

发行费用:mysql不全是免费,但很便宜

当提及发行的费用,这两个产品采用两种绝然不同的决策。对于sqlserver服务器,获取一个免费的开发费用最常的方式是购买微软的office或者visual studio的费用。但是,如果你想用于商业产品的开发,你必须还要购买sql server standard edition。学校或非赢利的企业可以不考虑这一附加的费用。

性能:先进的mysql

纯粹就性能而言,mysql是相当出色的,因为它包含一个缺省桌面格式myisam。myisam 数据库与磁盘非常地兼容而不占用过多的cpu和内存。mysql可以运行于windows系统而不会发生冲突,在unix或类似unix系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为mysql在内部里很多时候都使用64位的整数处理。yahoo!商业网站就使用mysql作为后台数据库。

当提及软件的性能,sqlserver服务器的稳定性要比它的竞争对手强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂操作,磁盘存储,内存损耗等等。如果你的硬件和软件不能充分支持sqlserver服务器,我建议你最好选择其他如dbms数据库,因为这样你会得到更好的结果。

安全功能

mysql有一个用于改变数据的二进制日志。因为它是二进制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏。

在sqlserver服务器中,你也可以记录sqlserver的有关查询,但这需要付出很高的代价。

安全性

这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。这两者都使用缺省的ip端口,但是有时候很不幸,这些ip也会被一些黑客闯入。当然,你也可以自己设置这些ip端口。

恢复性:先进的sql服务器

恢复性也是mysql的一个特点,这主要表现在myisam配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于sqlserver服务器而言就表现得很稳键。sqlserver服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。

根据需要决定你的选择

对于这两种数据库,如果非要让我说出到底哪一种更加出色,也许我会让你失望。以我的观点,任一对你的工作有帮助的数据库都是很好的数据库,没有哪一个数据库是绝对的出色,也没有哪一个数据库是绝对的差劲。我想要告诉你的是你应该多从你自己的需要出发,即你要完成什么样的任务?而不要单纯地从软件的功能出发。

如果你想建立一个.net服务器体系,这一体系可以从多个不同平台访问数据,参与数据库的管理,那么你可以选用sqlserver服务器。如果你想建立一个第三方站点,这一站点可以从一些客户端读取数据,那么mysql将是最好的选择。 

这两者数据库都能够在.net或j2ee下运行正常,同样,都能够利用raid。

===========================
oracle、sqlserver、mysql与db2的比较
http://book.chinaz.com/csdn/phppost5/php39602.htm

以下被引用:
oracle 大型,完善,安全
sqlserver 简单,界面友好,windows平台下的好选择
mysql 免费,功能不错
db2 超大型,与oracle类似
以下被引用:
oracle 大型,完善,安全
sqlserver 简单,界面友好,windows平台下的好选择
mysql 免费,功能不错
db2 超大型,与oracle类似
以下被引用:
oracle:数据完整性,安全性要求较高的场合;
sqlserver(sybase和ms):ms的sqlserver简单,好用,用于企业级的数据应用,性能没有问题,支持所有大型rdbms的特性;
mysql:基本免费,适合个人网站及一些小企业的网站应用;
db2:大型数据库,特长在于信息的存取。
以下被引用:
oracle 适用于较大型系统,但上手比较困难,即便上手后也很难提高。需要有长期的实践和摸索,但确实比较适合大系统。备份与恢复比较完善,但必需很有经验才能做的比较好。数据量不超过1t,可以用它
sqlserver:个人认为ms平台下最好用的数据库。界面简单友好,操作方便,备份与恢复都比较容易学会。而且学会sqlserver后与sybase也比较接近的。
mysql以前学php用的,感觉比较简单,无论是上手还是其本身的功能。
db2我在as/400上和ms平台都用过,感觉就是非常严谨,必须有非常规范的操作。如果数据量超过百g,建议用它。
以下被引用:
oracle其实已经没有什么可以夸耀的了,看看他今年的业绩也就知道了。他的技术现在就连微软都能实现了,从技术上看实在是没有什么理由值得采用
db2 的数据仓库还是相当出色,数据挖掘也很不错,特别是集群技术可以使db2的可扩性能达到极致。看看今年的业绩就知道db2的优势了,当然它的价格比其他的略贵,不过还是可以接受,至少远远低于oracle的价格
sybase已经快要消亡了,现在很少有新系统会采用这个东西了,反正我现在的公司已经放弃这个了
mysql不错的东东,强烈推荐,但是用起来实在是另类,比如没有存储过程,如果不考虑集群,其实他的效率要远远高于oracle
sql server微软的东西,用起来感觉还不错,但是因为不能使用在unix上,所以企业,电信,*都不是很愿意用。如果不是做erp最好不要用这个东西,否则产品可能会买不出去