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




  

相关话题

  SQL Server 数据库误操作怎么办? 
  《阿里巴巴JAVA开发手册》里面写超过三张表禁止join 这是为什么?这样的话那sql要怎么写? 
  Linux命令行输入whereis mysqlm,没有返回结果,请问怎么回事? 
  SQL Server 相比 MySQL 有何优势? 
  为什么 mysql 要额外加入一个 utf8mb4 数据类型,而不是原地升级 utf8? 
  SQL Server 数据库误操作怎么办? 
  你遇到过哪些MySQL的坑? 
  使用 Unix Domain Socket 连接 MySQL,查询速度和使用 127.0.0.1 连接差不多,使用 Go 测试,为什么? 
  你遇到过哪些MySQL的坑? 
  Linux命令行输入whereis mysqlm,没有返回结果,请问怎么回事? 

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





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利