SQL Server 与 MySQL 性能相差多大
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 与 MySQL 性能相差多大相关的知识,希望对你有一定的参考价值。
参考技术A 这个问题太笼统了,性能是多方面因素决定的,而且两种数据库的使用和配置都有很多参数可以调节。这两种数据库都是经过市场检验的,都能够应对各种复杂的场景。另外,性能包含很多方面,例如数据量、并发性、SQL调优、吞吐率,等等,需要更加明确的提问才好回答。本回答被提问者采纳 参考技术B SQL Server
SQL Server 是 Microsoft推出一套产品,它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,逐渐成为Windows平台下进行数据库应用开发较为理想的 选择之一。SQLServer是目前流行的数据库之一,它已广泛应用于金融、保险、电力、行政管理等与数据库有关的行业。而且,由于其易操作性及友好的界 面,赢得了广大用户的青睐,尤其是SQLServer与其它数据库,如Access、FoxPro、Excel等有良好的ODBC接口,可以把上述数据库 转成SQLServer的数据库,因此目前越来越多的读者正在使用SQLServer。
SQL Server由于是微软的产品,又有着如此强大的功能,所以他的影响力是几种数据库系统中比较大,用户也是比较多的。它一般是和同是微软产品的.net平台一起搭配使用。当然其他的各种开发平台,都提供了与它相关的数据库连接方式。因此,开发软件用SQL Server做数据库是一个正确的选择。
mysql
MySQL不支持事务处理,没有视图,没有存储过程和触发器,没有数据库端的用户自定义函数,不能完全使用标准的SQL语法。
从数据库行家听说的第一件事就是MySQL缺乏transactions,rollbacks, 和subselects的功能。如果你计划使用MySQL写一个关于银行、会计的应用程序,或者计划维护一些随时需要线性递增的不同类的计数器,你将缺乏transactions功能。在现有的发布版本的 MySQL下,请不要有任何的这些想法。(请注意,MySQL的测试版3.23.x系列现在已经支持transactions了)。
在非常必要的情况下,MySQL的局限性可以通过一部分开发者的努力得到克服。在MySQL中你失去的主要功能是subselect语句,而这正是其它的所有数据库都具有的。换而言之,这个失去的功能是一个痛苦。
MySQL没法处理复杂的关联性数据库功能,例如,子查询(subqueries),虽然大多数的子查询都可以改写成join
另一个MySQL没有提供支持的功能是事务处理(transaction)以及事务的提交(commit)/撤销(rollback)。一个事务指的是被当作一个单位来共同执行的一群或一套命令。如果一个事务没法完成,那么整个事务里面没有一个指令是真正执行下去的。对于必须处理线上订单的商业网站来说,MySQL没有支持这项功能,的确让人觉得很失望。但是可以用MaxSQL,一个分开的服务器,它能通过外挂的表格来支持事务功能。
外键(foreignkey)以及参考完整性限制(referentialintegrity)可以让你制定表格中资料间的约束,然后将约束 (constraint)加到你所规定的资料里面。这些MySQL没有的功能表示一个有赖复杂的资料关系的应用程序并不适合使用MySQL。当我们说 MySQL不支持外键时,我们指的就是数据库的参考完整性限制--MySQL并没有支持外键的规则,当然更没有支持连锁删除(cascadingdelete)的功能。简短的说,如果你的工作需要使用复杂的资料关联,那你还是用原来的Access吧。
你在MySQL中也不会找到存储进程(storedprocedure)以及触发器(trigger)。(针对这些功能,在Access提供了相对的事件进程(eventprocedure)。
MySQL+php+apache三者被软件开发者称为“php黄金组合”。
MySQL 与 SQL Server 2005/2008 性能对比
【中文标题】MySQL 与 SQL Server 2005/2008 性能对比【英文标题】:MySQL vs SQL Server 2005/2008 performance 【发布时间】:2010-10-18 13:05:45 【问题描述】:我打算开始开发一个 ASP.NET 应用程序,我想知道使用哪个数据库。性能非常重要,数据库应该能够毫无问题地处理大约 50GB 的数据库。但是,我想知道 SQL Server 许可证是否值得付费。我一直在寻找 MSSQL Server (2005/2008) 和 MySQL 之间的性能和可伸缩性比较,但我似乎找不到任何好的测试。您能否指出一些与该主题相关的广泛基准?
【问题讨论】:
【参考方案1】:传统上,如果您进行大量读取,MySQL 会非常快。例如,在一个网站中,可能有 100 比 1 的读写比率,因此 MySQL 运行良好。如果您正在计划一个高事务数据库,那么直接使用 MSSQL。如果钱不是问题,直接使用 MSSQL,因为它是更好的产品。
【讨论】:
【参考方案2】:如前所述,只要您使用默认表类型,MySQL 就可以提供高读取性能(假设简单查询很少或没有连接)。
不过,您还声明数据库大小为 50GB,这表明您可能正在寻找一个能够可靠存储信息的数据库。无论如何,使用默认表类型 MySQL 都不是一个可靠的数据库。
如果您想要一个快速、免费的 MS SQL 替代品,那么 PostgreSQL 可能是一个不错的选择 - 它快速可靠,并且具有更开放的许可证(如果您将 MySQL 用于商业项目,您需要阅读它的双重非常仔细地许可)。 PostgreSQL 唯一的缺点是它与 Oracle 有一些相同的 DBA 专家要求,因为 MS SQL 通常可以由普通的 IT 人员管理,而 MySQL 除了每次决定恢复旧备份之外不需要太多管理。损坏并丢失您的数据。
【讨论】:
“变得损坏并丢失数据”老实说听起来一点都不好,而且根据我使用 MySQL 的经验,存在可靠性问题。我知道 PostgreSQL,但我使用它的经验很少,再次考虑将其作为一个选项,我需要查看一些性能测试。以上是关于SQL Server 与 MySQL 性能相差多大的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 和 Oracle 以及 MySQL 都有哪些区别