以前一直用linux
MySQL,虽然比起SQLServe这个庞大的数据库系统MySQL很苗条,但它并不逊色。如下说说这两个在数据库各自的分页区别。数据库
例1,取出前十条编程
在MySQL中: SELECT * FROM table LIMIT 10安全
在SQLServer中: SELECT TOP 10 * FROM table服务器
例2,每页十条,取出第三页并发
在MySQL中: SELECT * FROM table LIMIT 20,10函数
在SQLServer中:SELECT TOP 10 * FROM table WHERE ID NOT IN工具
(SELECT TOP 20 ID FROM table ORDER BY ID DESC) ORDER BY ID DESC性能
由以上例子能够看出,在MySQL中分页用LIMIT关键字,若是是LIMIT10表示取前十条,若是是LIMIT 10,10表示偏移十条取前十条记录。在SQLServer中用top关键字,若是只取前n条记录直接topn便可,可是要是分页取就有点麻烦。开发工具
性能
这多是全部DBA最关心的。MySQL的读写性能确实一流,即便针对大数据量也没问题,但前提是必须使用简单查询,就是最好不要使用函数/join/group等方式查询。而SQLServer的简单查询速度不如MySQL,但复杂查询时,性能下降的很少,可见,SQLServer的查询优化做的可能更好。
但你能够经过针对性的表结构设计来避免MySQL进行复杂查询(多冗余,少关联)
插入速度也很快。为了提升性能,我甚至使用了不用日志的方式,确实快,哪怕大量并发也没问题。
对机器配置的要求
MySQL对机器配置要求不高(于SQLServer相比)。对于大表的ϖ做,一台pd925/2Gram/sataII硬盘//linux2.6内核 的机器能够轻松处理几千万条记录的数据表。
而对于SQLServer,咱们使用了双xeon5110/4Gram/raid10(6块sataII硬盘)/win2000ADserver的机器,数据表也有几千万条记录,结果负荷一高就崩溃了,很不稳定。
安全性
感受MySQL5+linux2.6的安全性高于win2ksp4+SQLServer2000sp4,MySQL漏洞少,咱们有一台SQLServer,由于某些功能必须开放1433端口,虽然用了防火墙并做了安全配置,但仍是被黑了:
由于MySQL的安全配置比较透明简单,权限明确,不易出漏洞。而SQLServer的用户配置是和ϖ做系统绑定的,很容易出问题。此外因为不是开源系统,1433端口暴露的安全问题谁也说不清,最好是将其彻底放入内网,其余的都是扯淡。
可配置性
MySQL可配置性很好,基于文本文件,很细很清晰。而SQLServer的不少配置必须用特定的存储过程完成,较复杂,不清晰(虽然基本配置很简单,有图形界面)
功能
这点MySQL与SQLServer确实无法比,如存储过程/触发器/丰富的函数/图形化的管理界面/自动维护的计划任务/与开发工具的集成等等
价格
这不用说了,一个免费,另外一个贵的吓人
总结起来,SQLServer体现了ms产品的一向特色:容易上手,编程方便(SQLServer内置的查询优化做的确实不错,对于一些数据库新手来讲方便不少——即你没必要对表结构做过多优化也能获得不错的性能),所以倍受“揽活公司”(我是这么称那些开发Mis项目的公司的)的喜好,你彻底能够集中注意力在应用的实现上,并且,小项目意味着小数据量,通常的服务器也能应对了;而大项目每每意味着大的数据量,好在通常预算也高,能够选择更高档的服务器来伺候SQLServer。
但数据量大,而预算有限,那最好用MySQL,您辛苦点,多研究一下MySQL和Linux系统,表结构设计也最好找有MySQL经验的人来作,作好了,可以获得超出你想象力的效果。但若是只能买低端服务器,而要用SQLServer处理大量数据,那就等死吧。