对比项目
MySQL
MS SQL SERVER
软件费用
开源软件, 大部分版本免费
Windows 任何 200美元
Unix或Linux 自行安装 免费
Unix或Linux 第三方安装 200美元
版权软件,收费
SQL Server2005官方报价5999美元/处理器或2799美元/Server
平台支持
各种平台,比较适合unix平台
只能在Windows平台
数据类型
字段类型多, 字符串最大支持65536
多,字符串最大支持8000
管理方式
较容易
非常容易
开发软件
C,C++,JAVA(JDBC),Perl,Python,PHP and TCL 的API接口等
C,C++,JAVA(JDBC),asp等
事务操作
INNODB存储引擎下支持,速度比较慢
支持,速度比较快
SQL语法
较容易,不支持某些扩展SQL语法
容易,支持扩展SQL语法
中文支持
支持中文
但开发和转移数据时容易出现中文字符问题
全中文环境
导入导出
较难,速度快的是字符操作界面
容易,全是图形操作界面
维护监控
比较难
容易
用户安全
比较高
比较低
备份恢复
较简单
简单
第三方软件
更多
染病毒风险
开发难度
较高
存储过程
INNODB存储引擎下支持,速度较慢
不容易使用
支持,图形化查看编辑界面
容易使用
链接服务器
不支持
支持,设置很容易
小型数据库主要处理的数据量比较小,几千、几万、几十万等,如access、mysql等。
大型数据库主要处理的数据量比较大,几百万,几千万或者上亿,主要有oracle、DB2、sqlserver等。
“可用最大存储量”MSSQL运行时可使用的内存最大值
“数据库最大规模”应该是一个MSSQL数据库能使用的最大磁盘空间.
速度对比
1.大量事务操作的SQL(insert,update,delete)MS SQL Server比MySQL要快很多。
2.大表(600M物理文件)的查询SQLserver按索引的查询比MySQL快一些。
3.测试结果让我痛心。本来一直还以为mysql是最快的数据库....
结果如下:(单位为秒)
比较项目      mysql耗时     sqlserver耗时
连结时间      0.01364        0.28493
插入一万条纪录 2.80973         12.94204
更新一万条纪录 812.48759       50.34521
删除一万条纪录 184.05414    31.28243
 
SQL Server以很低的总体拥有成本提供了高质量,它为你的企业提供了一个全面的即开即用数据平台解决方案,而不需要昂贵的插件。 

  · 一组世界级的工具和一个集成的调试环境帮助降低了开发成本。 

  · SQL Server管理套件,旨在帮助创建自管理系统,帮助降低员工成本。 

  · 降低的TCO和更快的开发时间,以及在Windows Server产品间执行的通用工程策略。而且,Microsoft 提供许多SQL Server许可证和价格选择,每一个都提供了强大的支持。 

  MySQL免费提供它的Community Server。但是公司警告说,MySQL不提供支持和定期更
新。如果你没有技术经验来靠你自己提供这些服务,那么购买这些服务是很昂贵的。 

  · 产品支持要求MySQL企业订阅$599到$4,999每服务器每年(MySQL企业选择)。access转mysql教程视频 

  在MySQL上建立一个全面的解决方案需要额外的第三方工具,例如备份和商业智能,而其中许多是收费的。 

  上面是转载的,讲一些个人的经验吧,我公司的虚拟主机管理系统是我开发的,采用了.Net 和SQL Server的方案,而由于是经营虚拟主机,所以对这两种常见的数据库接触非常多,遇到的问题也多。 

  总体来说,性能上,数据量比较小,数据表结构比较简单的时候,比如10万数据,那么MySQL的效率在第一次检索的时候会比SQL Server快,注意,我提到了第一次检索,因为这两种数据库的承载平台是有区别的,Windows系统可能运行一年以后还会显示几个G的空余物理内存,而Linux/Unix启动后可能就会接管所有的物理内存,刚学Unix的时候还因为
这个困惑过。所以在Linux/Unix下,进程要使用内存是会比Windows下的进程少等待一个步骤,所以内存页交换的开销会比较小,而Windows要先看剩余物理内存,够用了就拿来,不够用再去写页面文件(实际上在内存管理和调度上两个系统的区别是很大的,这里只是讲个简单的例子),所以Windows的内存调度性能肯定没有Linux/Unix好。SQL Server的运行是很有意思的,做过服务器维护的朋友应该注意到了,需要给SQL Server指定可以调用的物理内存上限,否则在一段时间之后(具体多少时间,要看负载情况,可能几秒钟就上来了)SQL Server就会吃掉所有的物理内存,我公司曾经接手两个日访问量上千万的站点,都是SQL Server数据库,Dell的1950,两颗Xeon 3.0,4G内存跑起来比较吃力的,因为并发太多了。SQL Server是典型的内存换性能,细心的朋友会发现,一个500M的数据库,如果做一次count或者sum或者其他需要检索整个表的操作,那么SQL Server占用的物理内存立马就会蹿升到500多M,这里可以看出他性能来源,是把数据库缓冲在内存中了,内存操作的效率当然要比磁盘高,所以他性能高也就很正常的了,加上他是商业数据库,新版的SQL Server 2008性能已经很夸张了,后面会有详细数据。MySQL的内存占用是令人满意的,占用很小,而且不论我怎么调整,我见到MySQL占用内存的上限只有1.1G,当时也是个很极端的情况,一个用户的站点被人攻击,3万多并发持续请求PHP页面,是个论坛来的,
后面挂接MySQL,IIS程序池占用的CPU已经导致一颗处理器核心满载了(四核,他用了25%),而MySQL却用掉了60%,超过两颗核心的负载,MySQL进程占用内存接近1.1G,因为他论坛的帖子较多,印象中是300多万还是800多万帖子,系统负载很高了,MySQL明显的反应迟缓,甚至检索超时。前边提到第一次检索的问题,也讲了原因,SQL Server第一次因为要缓冲到内存中,所以需要读取整个数据库物理文件,所以第一次检索的速度是被磁盘给拖住了,实际上Windows大多数程序第一次启动都会很慢,包括ASP.Net页面也是一样,但是过了第一次,速度就明显提升;而MySQL始终如一,中规中矩的,第一次和第十次速度一样。但是通过监控系统的IO操作可以得知,MySQL始终都要频繁的读写物理文件,所以速度自然没有SQL Server高。当然区别不止是这个,但是我们平时很少涉及到千万数据量以上的检索,能看到的也就这些。 

  再谈谈安全性,上面也提到了官方以及第三方数据,说明MySQL没有SQL Server安全,其实包括操作系统也是如此,Windows系统出现高危漏洞的次数远远少于Linux/Unix,而IIS的漏洞能数的过来,Apache的洞却很多很多。所以总有人说Linux怎么安全,我不知道他这样的论点,依据是什么。我从事过信息安全工作,关注漏洞列表是一个习惯,近几年
来,Linux/Apache/MySQL的漏洞数量绝对在Windows/IIS/SQL Server的两倍以上。再说一个上面没有提到的安全性问题,就是数据库的物理文件,大家都知道,物理文件的安全性决定一切的,SQL Server的文件操作是很安全的,起码这10多年来我还没遇到过SQL Server莫名其妙的物理文件损坏的情况,而MySQL则遇到很多次了,莫名其妙的索引就坏了,有时候能修复,有时候还不能修复,逼的我们开发了自动备份系统。。。 

  最后讲一个自己的事情。因为一些原因,我抓取了sohu一个子站的所有文章,15万多还是16万多,文字数量在1.5G,当时突发奇想对比两种数据库的性能。全部正确插入数据库以后做模糊检索,对比速度(MySQL少了几篇文章,因为转义字符太多,懒得查了)。SQL Server上我先做了一次大规模的模糊检索,让他挂载内存,然后sum(Like)一个几乎每篇文章都有的关键字,运行了三次,最差的一次是49毫秒,也就是0.049秒。然后做MySQL,测试了5次,每次都出不来结果,等了几分钟没响应,杀掉进程重启,再来……最后一次直接进程崩溃了,我也就没心情去研究了。 

  根据自己这些年来服务器管理的经验来讲,SQL Server的强壮性、性能以及稳定性都要
远远高于MySQL的(还没提到,MySQL有几次莫名其妙崩溃的事情),如果你的应用比较复杂,数据量大,并且是“关键性”应用,那么选择一个商业数据库是没错的,但是如果你实力很强,有自己研发能力,能做到像yahoo和Google那样集,甚至是自己改造数据库的能力,那么用MySQL是适合你的。如果你的应用比较简单,数据量也不大,并且数据表的结构比较简单,那么MySQL适合你用,但是请你做好备份措施,MySQL的强壮性实在不敢恭维。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。