百科问答小站 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,即便是云计算数据库




  

相关话题

  MYSQL 什么时候返回空,什么时候返回NULL,为什么这两条语句返回结果不一样? 
  mysql,zk这些强一致性的软件为什么要先写日志? 
  新浪微博「点赞功能」数据库如何设计的? 
  SQL SERVER 的一个问题? 
  Cache 和 Buffer 都是缓存,主要区别是什么? 
  SQL Server 相比 MySQL 有何优势? 
  SQL SERVER 的一个问题? 
  为什么很多公司都开始去 Oracle 而使用 MySQL? 
  数据库设计时的一些细节的东西如何处理? 
  大家设计数据库时使用外键吗? 

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





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利