| |
|
阅读网 -> 游戏动漫 -> SQL Server 真的比不上 MySQL 吗? -> 正文阅读 |
|
[游戏动漫]SQL Server 真的比不上 MySQL 吗? |
[收藏本文] 【下载本文】 |
个人在学校学过SQL Server, 我的需求是建立小型的数据库为网页端提供数据,网上大多数信息劝我学习MySQL,并且教程方面MySQL的教程也比S… |
1、SQL server和C#外加visual studio集成环境,开发C/S软件,用熟悉了一路爽上天。 2、SQL server图形化管理器,各种数据库管理功能,一般来说只有你用不到,少有你想不到。 3、奈何小型商用项目成本过高,MS SQL 放在外网,CPU要买无限版本,windows要买正版,开发环境要付费,否则微软律师分分钟上门。微信上MS销售问上一句报个价,一般小客户直接吓跑。 4、跑到Linux环境下,Java框架,mysql数据库,一路免费香不香?还有大批轮子奉上。 我超级喜欢VISUAL STUIO + C#+MSSQL,几个最满意 的C/S架构就是这套东西构建的。 但是为了恰饭,还得做java+mysql。。。中小客户喜欢。 |
作为一个从业者。 我可以肯定并且明确的跟你说,mssql甩mysql八条街。各种方面来说。 之所以让人感觉到你问的这个原因,那是因为mysql免费,市场占有率高,用的都是互联网公司,活跃的群体也是互联网公司的这些人。 mssql在版本7的时候就支持完整的行锁,而mysql是在innodb出来以后才支持。 mysql到8.0才支持瞬间加字段,还有限制。 现在开源里看好pg。 Oracle地表最强,这个没有争议。mssql2019支持linux,这是一个里程碑 |
上交所用的就是SQLServer 纳斯达克也是用SQLServer(不知道现在换了没有) 最不能出错的领域,可能是DB2、Oracle、SQLServer,但不可能是MySQL。 |
不说别的,MySQL的官方Connector还没第三方的稳定……几千个Bug躺那里没人解决。 我真不知道拿什么和SQL Server比。 只能比成本…… |
小伙子,你这个想法很危险,SQL Server不管是在稳定性,易用性,安全性,维护性,性能,甩MySQL八条街好不好 |
数据库在系统的重要程度已经越来越弱了,各种orm框架,你把数据库视为存东西的地方就行了,至于什么数据库,真的无关紧要。 (更新:评论区很多人理解有歧义,上一段说的是“用什么数据库”这个事情在一个系统里面的重要性越来越弱了,而不是“数据库”这个概念不重要了) 扯远了,回到正题,很多人还以为mysql才跨平台,现在mssql也已经跨平台了,这已经是4年前的事情了,另外mssql也有免费版,dev版免费全功能,但是不得用于正式生产环境,就不说了,但是有express版呀,虽然有10g的限制,但是对于中小型应用(文件不存数据库,数据生产频率小)来说,不是问题。 另外涉及到一个背锅的问题,oracle那么贵,为什么还有那么多企业用?因为对于他们来说,许可证的价格在数据面前不值得一提,收费也是相对的,我收了你的钱,你用我的数据库软件出了什么问题,我可是要承担责任的,而且我非常搞不懂的一点是,买数据库许可证的钱,是公司出的,又不是要从你的工资里面扣,那它收不收费和你开发有什么关系,用mysql,要是出现了什么状况,那不从开发里面找个人开背锅? 另外,现在是云服务的时代,数据库收不收费已经不是重要的了,因为你如果买云服务,数据库的许可证已经包含在里面了。而且这时候,我们发现,mysql和mssql的定价有很多有趣的现象,先拿azure来说吧,mssql肯定是azure的当家产品,贵一些无可厚非,拿同配置来说,都是4个vcore,mssql 1.1美元一小时,mysql 0.35美元一小时,考虑到mssql收费,mysql免费,这样的定价还算合理。但是转眼切换到国内最常用的阿里云,这就完全反过来了,我们知道阿里的mysql是很牛逼的,牛逼到阿里云在同等配置下,mysql的价格比mssql还要贵,都是4核8g,mysql要8000+,而mssql只要5000+,这时候你要说mssql的劣势还是价格吗? 接着说说性能,我认为性能是最不需要去考虑的东西,关系型数据库发展了那么多年,各种优化算法其实把每种数据库都几乎优化到了极致,性能的差异真的很小很小,小到几乎可以忽略不计,当然,因为实现的不同,可能有些方面mssql快一些,有些mysql快一些,综合起来其实都差不多,不过mysql有一点要注意的是连接表的性能很差,《阿里巴巴开发手册》里面有提到过一个超过三个表禁止join,没错,就是针对你,mysql。 那既然性能都差不多,mssql凭什么敢收费?当然是两者功能上的差异,mssql严格意义来说,不仅仅是一个数据库,而是数据库及其配套服务的结合,mssql自带数据仓库,可以直接进行大数据分析,实现商业智能(BI),而mysql,仅仅只是个数据库,要进行大数据分析,需要借助其他工具,这样很像office和wps的关系,wps有常用的word,excel,ppt,但是这三样在office仅仅只是其中的一部分。因此,mssql提供的是一条龙服务,mysql仅仅满足了你最迫切的需求,收不收费的区别就在这里。 现在是云服务时代了,我甚至可以连底层系统都不要管,直接用你的云服务譬如网站服务,容器服务,数据库更不用说了,我只希望安安静静的开发,数据库的管理云服务帮我做就好了,什么高可用,灾备,最好连优化都帮我做了(azure sql可以统计你的sql语句,找出常用但是耗时高的语句分析,自动帮你建索引,mysql云托管没用过不知道)。做好自己的本职工作,好用就行,至于免不免费,关我什么事?! |
易用性 MSSQL >>>> MYSQL 可维护性 MSSQL >>>>>>>>>>>>>>>>>MYSQL 性能, 简单数据库查询更新 MYSQL >>> MSSQL 复杂数据库查询 MSSQL>>>>>>>>>>MYSQL,MYSQL对于复杂查询而言可以用不堪入目四个字形容,绝大多数应用场景中不会是单表或者几个关系表之间的关联查询。 可靠性 MSSQL>>>>>>>>>>MYSQL,MSSQL崩溃丢数据的概率还是比较低的。 安全性 MSSQL>>>>>>>>>>MYSQL,MSSQL支持各种安全策略、审计策略、细粒度数据库对象授权、细粒度角色授权、AD域集成、支持kerberos透传客户端用户身份、自定义会话上下文(意味着数据库可以直接使用应用系统的用户身份和权限定义而不需要kerberos和数据库身份映射)......, 功能 MSSQL>>>>MYSQL,MSSQL内建支持JSON、XML、内存数据表、自定义函数、元数据、数据库作业、发布订阅、多只读实例......,这些功能都直接打包在一起,不需要额外去装什么。 费用优势 MYSQL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MSSQL,MSSQL太贵了。 关于费用优势,如果业务逻辑极为复杂的应用场景,比如企业应用,那么MSSQL的价格贵得缺点就可以被克服了,实现相同的功能,MYSQL付出的开发成本可能远高于使用MSSQL,完全抵消了MYSQL免费的优势了。所以在企业应用中,大多数还是使用MSSQL或者Oracle的(DB2太老了)。额外说一句,我原来准备在企业应用中尝试使用国产数据库的,但是他们总想着弯道超车,逻辑模型和主流关系数据库不太一致,弄得我很惆怅,还面临可靠性、可维护性、开发友好度等等风险,价格也不便宜,最后放弃了。其实国产数据库只要复刻+免费+稳定+开源就一定能占领部分市场的,不要搞那些奇奇怪怪的玩意。 我补充下SQL Server一些功能的使用场景吧。需要阐述下Sql Server的一些概念,实例:Sql Server的服务可以在一个物理机上安装多次,一个独立的Sql Server服务称为一个实例。数据库:一个实例上可以包含多个数据库。 1、发布订阅,不用多说了,可用于多个数据库实例(可以是异构数据库)复制数据,比如从热数据库将数据复制到用于业务分析的冷数据库中,或者分发到只读数据库,需要启用Sql Agent服务,应当仔细的设计代理账户避免安全风险。这种功能绝大多数数据库都有,Sql Server的稳定、简单,简单用用没什么问题。 2、Always On高可用,可以实现在线的多数据库实例高可用,一个写实例,多个只读实例,写入实例失效的时候,会选举一个只读实例成为写入实例,实现高可用,任意一个实例都可以读取实现负载均衡。我不喜欢这个功能,网络故障再加入的时候可能几天都折腾不完。一般在操作系统层面做个文件同步的机制实现高可用即可,如果用虚拟机则更简单一些。 3、内建的Json函数是我很喜欢的功能,可以在单独的文本字段中使用Json字符串,这些函数可以查询单个属性、构造表等等,非常方便。在数据库使用Json有缺点,就是会占用数据库服务器昂贵的CPU资源,但也有优点。例如可以方便的实现任意扩展的属性,例如,在单据中灵活增加属性而不需要变更数据库表结构,当这些属性需要作为查询条件时,做一个持久化的计算列,然后再建立索引就可以加速检索。处理起来比较耗费功夫的明细结构也可以一股脑的丢到Json中,通常我们会做多个1:1的扩展表用来单独存放大Json字段,在不同业务场景使用不同的扩展表。减轻数据库IO吞吐量。这些扩展表的Json在客户端也很容易用Js合并绑定等等。 4、自定义函数,允许自定义标量函数、聚合函数等等,可以方便的外挂.net程序集,一些使用Sql处理有难度的算法可以用C#等语言写好挂到数据库中。比如在没有系统内建Json函数的时候,可以自己写Json函数使用(性能当然差一些)。 5、XML是古旧技术,在Json还没流行之前流行。用途和Json差不多,存储准结构化数据,但是Xml这个玩意太重了,过度强调数据类型,没有Json用起来舒适。 6、数据库作业,一些异步任务,比如每晚汇总一些统计分析结果的过程,可以用数据库作业来完成,这种工具很多,但内建的简单好用就够了。需要启用Sql Agent服务。 7、元数据,这个元数据是描述数据库对象的数据,可以用Sql语句查询出来,元数据有什么用呢?可以用来直接形成代码中的实体模型,关系数据库基本都有这个。Sql Server的元数据比较丰富,甚至可以用来直接形成接口服务,当然出于安全性考虑一般没人这么干。现在Sql Server提供了会话上下文倒是可以用元数据直接对外构成数据服务,接口将当前应用系统用户标识写入到会话中,使用会话中的用户标识决定权限和可访问数据范围,这样就不需要变换数据库登录用户实现权限分割,安全性会高很多。 我用的最多的是导出做数据库字典。 8、内存数据表,这里说的是使用哈希索引的内存数据表,可以把Sql Server当成一个No Sql的数据库使用,可以和关系表同时使用,这是个比较有意思的功能。我没用过,无法解释使用场景,我能想到的是把Sql Server当成缓存服务器使用。 9、还有一些功能也常用,比如Sql Profiler用来性能调优或者抓一些Sql语句排错,查询分析器,用来做粗粒度的性能调优,简单能用。 10、当前版本的Sql Server的查询分析也比过去做的强很多,缺乏查询分析优化的数据库引擎价值是很低的,即便跑分不错,但在实际使用中性能也不会很高。如果关系数据的查询优化做的不好,那么应用层开发就要付出很大的代价去优化,开发工作量增加和业务复杂度是指数关系增长的,而不是线性增长。所以复杂系统几乎都会选用成熟的商用关系数据库。 |
这问题,谷歌搜索才是正解,直接贴出搜索排名第一的回答,另外想学mysql也有不用php的资源,在最下面。 MySQL和MS SQL Server的主要区别。两者都能很好地与大多数流行的操作系统集成,并且它将取决于现有的基础架构或希望的基础架构,以确定哪一个最适合(MySQL适用于Linux- MS SQL适用于Windows)MySQL有一个免费的开源版本,生产负载能力强,但是需要更多的额外支持。类似地,MS SQL为开发人员提供了一种基本的产品,但这种产品的生产负载可能有限,所以必须以更高的成本进行升级。SQLServer属于商用数据库软件,很多方面都有保障。从新手的角度来看,MS SQL和Microsoft Azure提供了一个全面的云解决方案。MySQL仍然保持着自己的地位,但是微软的组合是很难被击败的。MS SQL Server通过它的SQL Server Management Studio (SSMS)提供了一个更强大的工具集合,特别是在安全性方面,通过一个简单的GUI报告和分析。为这两个数据库系统手工编写api可能是一项特别无聊的任务。如果是需要一个快速的开发周期,并希望减少定制API,都可以在几分钟内创建一个MySQL或MS SQL API。 那么,哪个数据库比较适合? 显然,这里有大量的信息需要整理。“视情况而定”肯定是这个回答的万年答案了。而作出这一决定的一般经验是: 如果是一个Linux商店,已经在使用LAMP堆栈的各个部分,那么MySQL更好。如果您是一个Microsoft商店,已经投资于. net和Windows生态系统,那么SQLServer肯定更好。如果你完全是新手,或者想要一个干净的开始,上面的证据倾向于SQL Server。微软正在借助Azure的SQL数据库在云领域建立势头。他们继续给其他生态系统(如Linux)和开源。而且SQL Server具有更好的工具集、更多的TSQL和更好的性能。 接下来深入了解MySQL与MS SQL Server 操作系统方面: MySQL MySQL几乎运行在所有主要的操作系统上,包括Linux、MacOS和Windows。虽然传统上与Linux相关(作为著名的LAMP堆栈的一部分),但它也可以在Windows上运行。 SQL Server SQL Server最初是为Microsoft Windows操作系统编写的。近年来,微软和开源社区走的密切、支持Linux和Mac OS方面还是取得了很多进步的。最新版本的SQL Server运行在Linux上,并将运行在Docker容器中的Mac OS上。 优势-视乎情况而定 老实说,这取决于你的公司已经在使用什么操作系统。虽然这两个平台都支持两大操作系统,但各自都有“主场优势”。如果已经使用了Windows和. net,那么使用SQL Server可能是有意义的。如果你是一个Linux和Python/Java/PHP,MySQL可能是更好的选择。 每一张图片都是每一个比较的分割线。 |
|
成本 在做软件决策时,成本肯定是很重要的一个因素,而企业级数据库可能是最大的开销之一。这两种解决方案都提供了一个“免费”层。从这里开始,价格取决于日常需要的数据库的功能有多强大,以及需要什么样的支持。就跟百度云一样,不过百度云用的更难受。如果数据库是任务关键型的,那么为高级监视、备份和支持花钱,都是值得的。 MySQL MySQL的免费产品是MySQL社区版。它拥有相当数量的标准功能。这对于学习平台的开发人员来说是很好的。它还应该满足较小系统的需求。 为了获得更完整的特性集(以及Oracle支持),需要支付一些费用。根据最近的价格,这可以运行你在任何地方,每台服务器2000美元- 1万美元,每年。有3个不同的层(标准版、企业版和集群CGE)。在它们之间进行选择主要取决于数据需求的复杂性和规模。 SQL Server SQL Server的免费服务有两种: 开发人员-“全功能版本的SQL Server软件,允许开发人员成本效益建立,测试和演示基于SQL Server软件的应用程序。”免费的入门级数据库,是理想的学习,以及建立桌面和小型服务器数据驱动应用程序高达10gb。 简而言之,只要您不在生产环境中使用,Developer edition就可以提供您所需的一切。Express有一个更小的特性集,但它的许可证允许生产使用。与MySQL一样,如果您的业务需求和规模较小,那么Express可能会满足您的需要。 如果你需要一个更健壮的特性集,你将不得不为此付费。根据微软的定价页面,你可以在任何地方支付931美元到14256美元每核心。这里的定价有很大的差异,您的业务需求将决定您需要多少电力。 优势-视乎情况而定 同样,这里的最佳选择取决于您的业务需求。这两种解决方案都提供了一个自由层。除此之外,两家公司的定价方案都很复杂。咨询每个公司的销售部门,最终确定你需要什么,以及你最终会支付多少。 |
|
云计算支持 近年来,计算机领域发生了巨大的变化。云计算风靡一时。“三巨头”目前分别是亚马逊网络服务(AWS)、微软Azure和谷歌云。它们都提供健壮的服务,比如存储、计算,当然还有SQL数据库。 这场革命影响了本文的前两个要点(操作系统和成本)。云提供商管理操作系统和服务器的复杂性,并提供“随用随付”的计划,以避免主要的前期成本。在某种程度上,这种转变降低了操作系统/成本的重要性。相反,性能、工具支持、特性集等其他考虑因素是更重要的因素。以下是这些产品的销售情况: MySQL 三大云计算供应商均支持MySQL,并提供以下功能: AWS在其关系数据库服务上提供MySQL。Azure在他们的Azure数据库上提供MySQL服务。谷歌在云SQL上提供MySQL。 每个服务都声称易于管理、高可伸缩性、健壮的安全性和随用随付的定价。本文对云提供商的MySQL产品进行了深入的比较。由于供应商之间的差异,它不会尝试比较定价。 云定价似乎也属于“视情况而定”的范畴——没有“一刀切”的答案。最好的方法可能是首先在几个云中创建MySQL环境。然后,负载测试您的业务操作的典型用法。并确定不同的成本是如何产生的。 值得注意的是,Oracle (MySQL的所有者)也为MySQL提供云服务。由于Oracle对MySQL的“本机”支持,这可能值得探讨。然而,SQL数据库只是软件架构的一部分。系统仍然需要存储、计算和安全服务。甲骨文目前还不是提供这些服务的市场领导者。出于这个原因,Oracle的云托管MySQL可能是一个有风险的选择。 值得注意的是,所有云提供商也提供虚拟机服务,您可以在这些虚拟机服务上运行自己的MySQL实例。对于希望对数据库有更多控制权的客户来说,这是一种选择。这种方法需要更多的专业知识(而且更昂贵)。 SQL Server 与MySQL类似,每个主要的云提供商都有一个SQL Server产品: AWS在其关系数据库服务上提供Sql Server。Azure在其SQL数据库服务上提供SQL Server。虽然SQL Server是在后台运行的,但是提供的SQL数据库将服务器管理从最终用户抽象出来。谷歌在其谷歌云平台上提供SQL Server。 这里一个有趣的转折是,主要的云提供商之一(Microsoft)也是SQL Server的创建者。虽然这三家供应商都提供了强大的选择,但微软有一种“主场优势”的感觉。 与MySQL一样,您也可以付费在云中托管Windows vm,并自托管SQL Server。这还伴随着相同的专业要求和额外的成本问题。 优点- SQL Server (SQL数据库) 虽然这两种解决方案都可以作为云产品使用,但Microsoft Azure和SQL数据库的结合是无可匹敌的。如果你已经在使用其他的提供商,或者已经投资了MySQL,那么这仍然是你的选择。然而,选择Azure/SQL数据库还是很有吸引力的。 |
|
性能 数据库性能对于任何软件应用程序都是至关重要的。如果数据库不以一种方便的方式响应,整个系统就会陷入困境。这将导致诸如糟糕的用户体验、操作延迟和金钱损失等问题。 数据库性能取决于大量的变量。工作负载上的细微差异会以这样或那样的方式影响优势。小的调整可以改善结果。一个设计良好的数据库是物有所值的。 MySQL和SQL Server都吹捧广泛的性能和扩展能力。通过在web上搜索两者之间的比较,SQL Server似乎具有优势。 另外,MySQL是Oracle的“入门级”数据库。对于高性能的需求,Oracle会引导您使用他们的旗舰数据库产品。另一方面,SQL Server是微软的旗舰产品。 优点- SQL Server 虽然这不是十拿九稳的,但SQL Server稍好一些的数字和“旗舰”的地位使它在这方面略胜一筹。 |
|
工具支持 为了使用数据库,需要一个好的工具集。数据库本身是一个没有GUI的后台进程。但是,为了开发和支持数据库,您需要与它进行交互。MySQL和SQL Server都为此目的提供了前端客户端。 MySQL MySQL的客户端应用是MySQL工作台。Workbench提供了运行在Windows、Linux和MacOS上的产品。它提供了几个重要的数据库管理工具,包括: 数据库连接和管理SQL编辑器和执行数据库和模式建模GUI性能监视和查询统计 SQL Server SQL Server的客户端应用程序是SQL Server Management Studio (SSMS)。虽然SQL Server可以在Windows、Linux和MacOS上运行(通过Docker),但是SSMS只能在Windows机器上使用。注意,Microsoft提供了一个Visual Studio代码扩展来在基于linux的机器上执行SQL。 SSMS具有比MySQL工作台更健壮的特性集。这包括: 更广泛的数据库管理工具。包括一组健壮的安全性、报告、分析和邮件服务。一个强大的执行计划可视化工具。这样可以方便、快速地识别性能瓶颈。源代码控制集成。实时活动监测与过滤和自动刷新。优点- SQL Server 这两个产品都提供了“基础”(执行SQL和查看/管理数据库的能力),但是SSMS体验要优越得多。经验丰富的数据库管理员(dba)可能希望使用脚本和SQL来管理他们的数据库。但是许多用户需要一个简单的GUI来执行这些任务。这是SSMS的一个亮点。此外,执行计划可视化工具使性能瓶颈很容易修复。它可以一次又一次地为自己买单。 |
|
语言支持 这两个平台都利用SQL与它们的模式和数据进行交互(有一些细微的区别)。但是,当涉及到运行时语言与数据库的接口时,它们就不同了。 例如,在一个典型的服务器架构中,您可能有: 数据库- SQL读取/写入数据应用服务器- c++ /PHP/Perl/Python/。Net/Java提供业务逻辑和与数据库的接口 下面是两个系统之间需要考虑的一些差异: SQL Server支持T-SQL,这是SQL的一个专有扩展。这支持过程式编程、局部变量、字符串/数据处理函数和UPDATE/DELETE语句中的FROM子句等概念。基本上,您可以使用SQL做更多的事情。运行时语言——两个系统支持连接使用的主要编程语言(c++ c#、Java、PHP、Python、Ruby、Visual Basic, Delphi,, R)。有一些文章在网上声称另一些语言如艾菲尔铁塔只支持MySQL,但只要你可以使用ODBC连接,两个数据库是可用的。如果使用。net语言(c#、f#、Visual Basic等),微软再一次提供了“主场优势”。微软写了ADO。Net库中的SQL Server优先。ADO。Net与MySQL兼容,但它与SQL Server兼容。SQL Server还提供了从存储过程调用. net代码的附加(可能存在争议)机制。这可能是在数据库中注入各种功能的强大机制。它还允许你搬起石头砸自己的脚。这里要小心。 另外还有一些学习这两个的教程,很多其实不用php,自己找教程要找到正确的。 6天掌握mysql基础视频 配套资料 提取码:res8 5天玩转MySQL 神速上手MySQL,一小时搞定数据库安全 MySQL分布式存储 配套资料 提取码:5bdw MySQL优化-教你如何全面的对数据库进行优化 配套资料 密码: ydsc MySQL DBA数据库运维高薪必备教程 配套资料 提取码:31dr 使用Jumpserver 管理“绝地求生:刺激战场”数万台游戏服务器 配套资料 提取码:7xb6 MySQL高级教程-全面深入Mysql数据库优化 配套资料 提取码:c2qx MySQL圆你大厂梦,技术终面官亲授offer收割术 配套资料 提取码:waas |
好嘛,二十多年前就有人吹mysql比mssql好,“特别安全”(原话用了特别低俗的比喻,我不想复述。我问了他一句“你知道windows里所有的mysql链接都是root吗?那时候人都单纯,他回了我一句“啊?” 还有,那时候mysql不支持外键,不支持存储过程和视图,互联网上到处都是mysql的拥护者在宣传“这些都是过时、无用的落后技术”。 后来mysql5有了这些技术,mysql又开始宣传自己“技术先进,支持视图和存储过程” mysql比pg支持window function和cte大概晚了十多年吧。 我最近又遇到有国内某个mysql体系的分布式数据库团队忽悠政府客户“存储过程是落后的东西”,那个味道真是一样一样的。 总的来说我觉得mysql也不至于有多烂,但是这个社区文化是真的有点儿问题。 我们这些老家伙还没死呢。 |
性能,易用性前面很多人说了,除此之外sql server的黑科技也可以把mysql吊起来锤,比如FileTables这个神奇的特性可以将文件、文件夹存在数据库的表里,但却同时可以当做共享文件夹来用,通过文件浏览器访问就跟打开本地磁盘一个效果,而在共享文件夹的操作会自动映射成表里对应字段的变更。这属实是活久见地操作系统为数据库服务了(目测需要修改win32的文件读写api来匹配该特性,所以linux版不可用)。 补充一点,文件的二进制内容在表中也有映射的字段,这意味着可以透明地上全文检索等功能。而微软还贴心地给office文件提供了额外的官方分词器。 |
MySQL主要是免费简单,在没接触过数据库的初级开发者中可以快速搭建一个数据库进行学习和使用。同时MySQL相对比较小,因此常用于中小网站。 至于SQL Server,这个东西和Oracle数据库一样。 SQL Server和Oracle除了贵没有缺点,且贵不是它的缺点,是你的缺点。 |
以前公司接到一个新项目,为了节省成本,我打算尝试使用免费版本的MySQL数据库,而不是我之前常用的SQL Server,因为那个时候,非常流行MySQL。 然后就开始了各种不顺利。 下载安装都很快,然后打开界面也简单学了一下后就开始了项目工作。因为没系统的完整的学过,就是打算在项目上边开发边学的。 然而,它的使用并没有SQLSever那样方便,这么说吧,所有厂商,在做操作方面都干不过微软。这也认了,麻烦就麻烦吧。 那让我崩溃的是,我原以为的是,你Oracle有什么,大体上SQLServer也有什么,那你MySQL应该也一样有什么。很快我就认识到一句话,想法很美好,现实很骨感。 |
|
它居然不支持存储过程。 |
|
开发过程这个难受啊,非常不适应,本来在C#中写界面相关的,接口相关的,业务数据相关的都下沉到数据库中,但是这个不支持存储过程的MySQL,把我整没辙了,就在C#里,慢慢调用吧。 整个程序很笨重,我也没什么太好的方案了。但是这样的效率太低了。重复的东西要重复的写,在C#里整成一个函数代替存储过程,看着都累人。 最后,我实在没办法了,上线时间在那摆着呢,我就和老板说,算了,还是使用SQLServer吧,花点钱就花点钱吧。 老板也没说啥,本来就是计划用SQLServer的,还要上集群的。噢,对还有集群。用MySQL,那集群怎么弄,还是个问题。 我的本来是有点小想法的,是借着这个项目,学习一下当下最热门的MySQL的。但是我失算了,没学成。 事实上,MySQL和SQLServer是不好比的,直到今天也是一样,它强就强在开源上,这对大公司很好,可以节省费用。但是这并不意味着他就是先进的。 现在虽然MySQL也有存储过程了,但是我了解了功能之后,感觉还是和SQLServer不能比的。 SQLServer真的能甩MySQL连尾灯都看不见的。 |
|
===================================== 2024/03/06 现在,SQL Server的Express版本也是免费版本了,你真可以不用MySQL这个废物了。如果项目赚钱了,就使用付费版本,那也很香啊。 |
Sql Server是高端数据库,Mysql只是中端数据库。你这是完全搞反了哎。 Mysql之所以流行,是因为免费。但现在Sql Server有免费版了,而Mysql也有了收费版。所以今天,收费与否这个差异,其实已经不存在了。 而从技术角度,则是Sql Server更有优势。 Mysql的问题在于,它的精度低,浮点数超过4个字节,就会自四舍五入,后面的小数点位被直接丢弃 所以Mysql无法用于对数字精度敏感的行业。比如金融、科研、军事、精密制造业等。 而Sql server就不存在这个问题,具有最高等级精度,任何行业都是可以使用的。缺点前面已经说了,它之前只有收费版。直到2018年才开始推免费版。 而互联网行业对精度要求不高,当初为了节省成本,在互联网大爆发时期,大规模使用了Mysql。因此导致Mysql的普及度非常高。 用红米手机的人,比用华为Mate系列的人多,但这不代表Mate系列比不上红米。 |
同数据量放到一个机械硬盘上,sqlserver还没成瓶颈几秒查出来显示,换成MySQL pg直接读取都要起码1分钟 需要安全生产的项目,西门子艾默生国产换来换去,底层都是sqlserver最稳 要不是mysql免费,没人会看他一眼,现在国产数据库抄都是抄pg的,也就遗留老人还捧着mysql 价格和西门子等东西比占比算很小了,工业这边企业级的冤枉钱太多了,数据库算很便宜了,给你保障安全好用,没啥性能瓶颈 |
Sql Server、Oracle和MySql我都用过。对于我来说,Sql Server是最好用的数据库,原因如下: 1:Sql Server备份还原最方便 可以使用备份文件还原,也可以通过附加数据库还原。MySql和Oracle那种导入导出的还原方式,数据量一大就等半天,频繁使用的话简直受不了。 2:Sql Server恢复误删数据最方便 虽然这个操作很少用,但用起来确实心跳加速,Sql Server很容易找到第三方傻瓜式界面操作的数据恢复工具,只要日志文件正常,不是truncate、drop就一定能完全恢复。可能是我技术太菜,使用Oracle想要恢复误删数据,上网查了半天搞了半天也没搞好,闪回搞半天也没闪回到位。 3:Sql Server是和C#整合得最好的数据库 Sql Server的字段类型,在C#中都能找的相对应的数据类型,其他数据库在这方面有欠缺。 不过话说回来,Sql Server最大的缺点就是收费了,对我这种低等码畜来说是天价。 原来忘记了,现在经回答用户提醒,Sql Server是有免费版Sql Server Express,这里顺便贴一下Express版的使用限制: Constrained to a single CPU (in 2012, this limitation has been changed to "The lesser of one socket or four cores", so multi-threading is possible)1GB RAM4GB database size (raised to 10GB in SQL 2008 R2 and SQL 2012) per database |
搁10年前,你这么问估计会有很多人支持你,但现在是2023年了,MySQL是真不太行,SQL Server是真香,唯一缺点就是太贵了 |
收费的能干不过免费的,那收费的意义何在,微软既然敢搞收费,就说明产品过硬, 你可以选择自己适合的,微软提供一些服务是免费所不能替代的! 尺有寸短,各有千秋!没有好坏之分,就像讨论谁是最好的编程语言一样,没有啥意义。 适合自己的才是最好的! 没啥没人讨论oracle和mysql或者oracle和sql server! 谁不定哪天知乎上就给我推送了!!! |
其他人的回答已经说了很多sqlserver 和mysql的不同了,别的我不愿意说,因为百度多的是 我就看不惯没有依据就说sqlserver 不如 mysql的, 单单从性能上sqlserver秒杀mysql几条街,凡是用mysql的程序员,分库分表是必须的技能,为什么呢?因为mysql单表数据到达几千万的时候就会出现瓶颈,select 等操作明显变慢?要问为什么,这和数据引擎有关。至于sqlserver呢,单表几个亿的数据都没问题, 我曾做过的一个业务, sqlserver单表超过21亿,查询依然是嗖嗖快。 至于其他方面,mysql开源免费这是它最大的优势,要不然那么多人用他干嘛,而且好多大厂也在用,图的就是个免费而已 |
选数据库看的是license。 数据库厂商未来可能的政策变化,都会对成本造成影响,所以MySQL被Oracle收购后,PostGre就火了,就是因为Oracle可能会修改MySQL的license。 |
单纯从数据库来说,mysql就是渣渣,不管是性能还是管理,可以比较一下针对join,mysql和sqlserver各有多少种执行策略就知道了,但是mysql不要钱,mysql开源,mysql跨平台比SQLserver早的多,就是这几把利剑,顺便造就了无敌的生态圈。出了幺蛾子,mysql有源码可以查,有社区同类型问题,甚至可以自行修复,SQLserver出问题找微软支持,他们也不一定都见过。 另外一方面,业务逻辑是不建议放db的,就造成了jion性能高也没用,大家都单表查询,甚至mysql性能更好,因为mysql内部优化路径少,它优化器不用纠结到底如何选择执行计划,不用缓存执行计划(用过sqlserver就知道,它经常会有执行计划选错的问题) |
SQL Server 以前是 SYBASE 授权给微软的东西,是可以同 ORACLE 争天下的玩意。 MySQL 到现在还没有 sa。 2010年五月,德国SAP公司宣布以五十亿八千万美元收购Sybase。 MySQL 好在免费。 众所周知,微软的 SQL SERVER 和他家的 DOS 一开始都是买的别家成熟的产品来贴牌。 TDS版本的历史 起初,两个供应商(Sybase或微软)都有一个共同的TDS版本,但是,与私人企业的广泛历史惊人地相一致,它们很快就出现了分歧。每个供应商后来都推出了不同的版本,而且都不支持对方的版本。也就是说,每个厂商的客户库都使用该厂商提供的最新版本的TDS。你不能可靠地使用微软的库来连接到Sybase,或者Sybase的库来连接到微软。在某些情况下,你会得到一个连接,但很快你就会遇到一些不兼容的情况。 TDS协议的版本 TDS 4.2 Sybase和微软:在Sybase/Microsoft分裂时使用的版本。 TDS 5.0 Sybase:为Sybase引入的。因为TDS 5.0包括协商功能,通过它可以扩展协议功能,我们不太可能看到Sybase的新TDS版本。 TDS 7.0 微软:为SQL Server 7.0引入的。包括对SQL Server 7.0中的扩展数据类型的支持(如超过255个字符的char/varchar字段)。它还包括对Unicode的支持。 TDS 7.1: Microsoft,原为8.0。 为SQL Server 2000引入。包括对大整数(64位int)和 "变体 "数据类型的支持。 TDS 7.2 Microsoft, 原为 9.0,为SQL Server 2005引入。包括对varchar(max), varbinary(max), xml数据类型和MARS的支持。 TDS 7.3:Microsoft, 为SQL Server 2008引入的。包括支持扩展日期/时间,表作为参数。 TDS 7.4:Microsoft, 为SQL Server 2012引入的。包括对会话恢复的支持。 |
有钱的用Oracle, DB2, 稳定, 高效, 可以让开发者把最少的精力放在数据库这头, 既使sql写的比较烂,也影响不大,但是对安装配置的人员的技术要求很高; 其次MSSQL;再次MYSQL, PostgreSQL,免费, Linux支持好,需要开发者较多的介入。用得多的,不一定是最好的,往往是初期便宜,初级使用简单,就像之前MSSQL比Oracle用的多得多一样,只是因为便宜,初步安装配置简单。 用得多的,后续发展快,找工作容易。作为基础设施,使用开源数据库,是因为互联网巨头是不愿被其他巨头控制绑架的。 基于提问者的需求来看,使用MSSQL代替MYSQL明显是不合适的,明显是非IT专业人士,应该直接使用类似Wordpress和面板套件安装一个网站直接使用,需要进一步学习了解,PHP, MySQL也比容易,还便宜。 |
不谈场景谈软件,真的是...骂人了哦... 你的说明不明确,应该是C#+mssql,我觉得可以,没必要去用php+mysql 我就是先用的mssql后用的mysql,完全没感觉到区别,sql语句几乎一样,偶尔有差别也没什么大不了,出个错查下百度就完事了 小型系统,c#和php几乎没有开发上的区别,mssql和mysql就更没区别了,没必要赶鸭子上架去学php+mysql mssql最大的缺点还是早期跨平台支持的不好,很多人对它反感的很,自然很难收获好评,像我们这样的菜鸟,用什么软件不是用?有啥资格挑三拣四... 你既然会mssql,就用它没错的,将来? |
|
|
讲真,我看好PostgreSQL |
SQL Server本身在性能和安全性等方面,是强于mysql的,但为什么mysql这么火,而ms sql却江河日下呢? 原因无非有以下几个方面: 1、费用:MS SQL收费,商业版费用很高,一般的中小企业可能都不会考虑去购买付费版;mysql免费,并且性能等层面也可以满足中小企业的使用需求; 2、部署要求:mysql安装包很小,并且安装十分简答,支持集成环境去集成,例如lnmp/lamp、wdcp等等,这在一定程度上拉高了用户量;而MS SQL安装包较大,集成基本不存在的;并且MS SQL安装对服务器硬件要求较高;而对于中小企业网站来说,完全没必要买一台高配服务器来跑MS SQL; 3、开源:mysql开源,很多企业可以基于mysql进行开发,并且在原有mysql基础上进行优化,对于中大型企业来说,mysql是可以掌控的,可以自研很多工具让数据库更好用;而MS SQL就不行,官方不更新不出新工具,你就得用那些难用到死的工具;不开源那么扩展难度就会大大增加,集群费用超级贵,所以中大型企业自然不愿意选择MS SQL; 综合以上原因吧,MS SQL估计会像Oracle一样,日渐式微! |
MySQL是所有数据库里最残疾的,MS SQL Server全方位碾压MySQL! MySQL的厂商偷工减料,不负责任,搞出一套那么垃圾的数据库。先是没有索引,其次是没有自己的引擎,最后提供的函数也强差人意。这些缺点只能借助第三方开源项目来弥补,还美名其曰完善开源生态,其实就是推卸责任。 MS SQL Server在这些方面做得就比MySQL好。无论是索引、函数还是引擎,微软都提供了稳定的解决方案。MS SQL Server的安全性也比MySQL高,同Oracle不相上下。这两款数据库在断电情况下数据不会丢失,MySQL就不行,一断电数据立刻丢失! 一款优秀的数据库厂商都是帮你把底层封装好了,让你直接调用上层的各种接口就能达到满意的效果。需要手动调优底层的全是垃圾,我看都不看一眼! |
MS SQL Server:我安全性高 mysql:我免费 MS SQL Server:我提供稳定的解决方案 mysql:我免费 MS SQL Server:我提供封装好的上层接口 mysql:我免费 MS SQL Server:我更稳定 mysql:我开源 MS SQL Server:在断电情况下数据不会丢失 mysql:我开源 MS SQL Server:我跟oracle不先上下的性能 mysql:我免费+开源 MS SQL Server:。。。 |
性能根本不重要,重要的是那玩意不用钱 你这种需求,不用钱的足够解决了,你没有必要花钱去解决问题 所以为什么劝你用开源,因为开源cheap啊 |
SQL Server 是商业数据库,而 MySQL 是可选商业支持的开源数据库。 定位决定了 SQL Server 本身就比 MySQL 先进。MySQL 的流行源自于它一开始的开源免费以及简单(没错,就是简单),根本不是它领先(根本不领先)也不是它高性能(?)。伴随互联网企业的兴起 MySQL 才逐渐占据了市场。 开源领域最刚的数据库也不是 MySQL(它就是个流行数据库),而是 PostgreSQL,不过因为 PostgreSQL 一开始走学术派,速度不咋样不说,还挺难,所以没有流行起来。 Summary 教程里面用 MySQL,是因为它流行、简单,不是因为它先进。 有些答案对于 SQL Server 有一些误解。 SQL Server 很贵吗? |
|
合约 23k 人民币 标准版 SQL Server 2019 的售价是 3,189 USD。对于企业来说,这个价格比 Oracle 便宜多了...另外,如此强大的数据库售价不到 2.1 万,Emm,你确定嫌贵?当然,数据量小可以使用 SQL Server 2019 Express,免费商用。 其实 SQL Server 许可证非常灵活,标准版以外,还有限制用户数量的标准版,通过 CAL 扩展包来扩展许可证。SQL Server 必须使用 Windows 吗? |
|
SQL Server on Linux 支持 Red Hat Enterprise Linux、SUSE、Ubuntu 以及 Docker 形式部署。 Microsoft SQL Server 支持标准 ODBC,可以使用 unixODBC、iODBC 在各个平台上交互。或者使用 Navicat 这类 Windows、macOS、Linux 通吃的工具。 |
|
macOS 上管理 SQL Server 的 NavicatSQL Server 支持费用很高。 那是因为 SQL Server 提供商业支持。如果你想依赖社区(Community)也可以和你使用 MySQL 一样在 StackOverflow 上提问等待大家回答(狗头。 |
当年公司架构师说了一句,没钱的公司才用MySQL,有钱直接上Oracle ,或者SQL server ! 没钱公司才用MySQL,有钱直接上商业数据库 Oracle 单表撑一亿条数据稳,MySQL 超过三个千万性能直线下降。 MySQL 好在互联网应用大力发展对数据完整性容忍都降低,加上免费用的自然多了 论好开源数据用MySQL在pg面前还是弟弟(特MySQL被Oracle收购后) |
|
[收藏本文] 【下载本文】 |
上一篇文章 下一篇文章 查看所有文章 |
|
|
古典名著
名著精选
外国名著
儿童童话
武侠小说
名人传记
学习励志
诗词散文
经典故事
其它杂谈
小说文学 恐怖推理 感情生活 瓶邪 原创小说 小说 故事 鬼故事 微小说 文学 耽美 师生 内向 成功 潇湘溪苑 旧巷笙歌 花千骨 剑来 万相之王 深空彼岸 浅浅寂寞 yy小说吧 穿越小说 校园小说 武侠小说 言情小说 玄幻小说 经典语录 三国演义 西游记 红楼梦 水浒传 古诗 易经 后宫 鼠猫 美文 坏蛋 对联 读后感 文字吧 武动乾坤 遮天 凡人修仙传 吞噬星空 盗墓笔记 斗破苍穹 绝世唐门 龙王传说 诛仙 庶女有毒 哈利波特 雪中悍刀行 知否知否应是绿肥红瘦 极品家丁 龙族 玄界之门 莽荒纪 全职高手 心理罪 校花的贴身高手 美人为馅 三体 我欲封天 少年王 旧巷笙歌 花千骨 剑来 万相之王 深空彼岸 天阿降临 重生唐三 最强狂兵 邻家天使大人把我变成废人这事 顶级弃少 大奉打更人 剑道第一仙 一剑独尊 剑仙在此 渡劫之王 第九特区 不败战神 星门 圣墟 |
网站联系: qq:121756557 email:121756557@qq.com |