百科问答小站 logo
百科问答小站 font logo



SQL Server 相比 MySQL 有何优势? 第1页

  

user avatar   zhang-liao-13-63 网友的相关建议: 
      

我在两种数据库都有多年从业经验,自认为比较有资格回答。

其实两种产品并不是一样的类型,mysql是单纯的数据库存储,mssql是一整套数据解决方案。如果有兴趣可以去了解一下microsoft sql server business intelligence和data mining相关的产品,以及data cube,高斯分布计算等各种features,你就会改变观念了。

mysql是互联网公司广泛使用的,免费的(最重要),容易使用的存储方案,标准做法是单纯的业务crud,核心任务是扛住qps和tps,没有存储过程,扩展函数等逻辑(从安全,性能,逻辑控制考虑)。

回到你的问题,如果要比较,那就得把sql server降级到这个角色来。单纯的crud情况下,同样的配置,它的优势有:

1. 更好的读写性能,因为和windows framework绑定一起,底层操作系统级优势。而mysql则有可能oom,被linux无差别清理掉

2. 数据可靠性更好:数据安全,一致性等

3. 存储过程。oracle和mssql都有强大的存储过程,银行系统甚至有规定凡是和资金相关的逻辑必须写在存储过程里,禁止写在应用程序里。而mysql的存储过程则一直是鸡肋。用c语言写的扩展存储过程,即运行在数据库内存中的程序代码,两个都支持,这个不在讨论范围之内

4. 方便的性能监控。打开profiler,可以在生产环境中实时看各个query的执行详情,还可以按需过滤,而且不影响系统性能

5. 方便的sql debug。这个主要用于函数和存储过程,可以设断点,单步,跳步等执行,就像程序debug一样。mysql没有ide能这样做,调试存储过程比较困难

6. 说到ide了,当然是出品过vs这种神器的微软的天下了,mssql management studio各种好用,查询管理都很方便

7. 可靠的数据库复制。做过mysql dba的应该都有体会,主要的折腾工作就是db replication,敲得最多的就是show slave status… mssql有data mirror,log shipping等多种复制方式,且都很可靠。至少我那么多年没处理过主备数据不一致的修补工作。mysql主备读写分离曾经是mysql一个优势,以前的mssql mirror备库不可读。但现在的版本已经可读了,所以不存在这个缺陷了

其实还有很多,但那样的话回答就成长篇大论了。总之选择什么数据库并不是程序员或dba来决定的,而且行业和成本。难以想象杭州或北京一个互联网startup会购买昂贵的数据库licence,即便是云计算数据库




  

相关话题

  安装vs2015社区版后如何安装Microsoft SQL express版? 
  C# 为何MySQL无法打开连接? 
  Linux命令行输入whereis mysqlm,没有返回结果,请问怎么回事? 
  《阿里巴巴JAVA开发手册》里面写超过三张表禁止join 这是为什么?这样的话那sql要怎么写? 
  使用 Unix Domain Socket 连接 MySQL,查询速度和使用 127.0.0.1 连接差不多,使用 Go 测试,为什么? 
  SQL Server 相比 MySQL 有何优势? 
  女程序员想自学SQL,前途和难度如何? 
  MYSQL 什么时候返回空,什么时候返回NULL,为什么这两条语句返回结果不一样? 
  使用 Unix Domain Socket 连接 MySQL,查询速度和使用 127.0.0.1 连接差不多,使用 Go 测试,为什么? 
  为什么很多公司都开始去 Oracle 而使用 MySQL? 

前一个讨论
运行时异常处理程序是如何实现的?
下一个讨论
物理猜想(民科):引力、光速、量子纠缠和时间变慢等原因猜想,求指导错在哪里?





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利