首页 / 知识
MySQL和SQL Server之间的差异
2023-04-12 04:24:00

Differences between MySQL and SQL Server
我是一个ASP.NET开发人员,他使用 我正在考虑为我的一些个人项目尝试使用LAMP堆栈。
您是否有任何建议或资源可以帮助我进行转换?
对于同时拥有这两种经验的人来说, 您需要注意的一件事是,SQLServer和MySQL实现SQL语法的方式存在相当大的差异。 这是不同SQL实现的很好的比较。 例如,看一下top-n部分。在MySQL中:
在SQLServer(T-SQL)中:
这里的许多评论听起来更像是宗教辩论,而不是现实生活中的言论。 我不敢相信没有人提到MySQL不支持通用表表达式(CTE)/" with"语句。这是一个非常烦人的区别。 MySQL更有可能出现数据库损坏问题,并且不会在发生问题时自动修复它们。从6.5版开始,我就使用MSSQL,并且不记得使数据库脱机的数据库损坏问题。几次在生产环境中使用MySQL时,数据库损坏问题使整个数据库脱机,直到我们从命令行运行魔术"请修复损坏的索引"。 以我的经验,MSSQL的事务和日记系统几乎可以处理任何事情-包括电源重启或硬件故障-不会损坏数据库,并且如果发生问题,它会自动修复。 这是我的经验,很高兴得知此问题已解决或我们做错了。 http://dev.mysql.com/doc/refman/6.0/en/corrupted-myisam-tables.html http://www.google.com/search?q=site%3Abugs.mysql.com+index+corruption MySQL中的一切似乎都比MSSQL更接近金属,并且文档以这种方式对待它。尤其是对于优化,您需要了解索引,系统配置和优化器在各种情况下如何交互。 "优化器"更多是解析器。在MSSQL中,您的查询计划通常令人惊讶(通常很好,有时却没有)。在MySQL中,它几乎按照您的期望做事。这意味着您自己需要对可能的各种方式有深刻的了解。 并非围绕好的TRANSACTION模型(默认的MyISAM引擎)构建。 文件系统设置是您的问题。 所有数据库配置都是您的问题-尤其是各种缓存大小。 有时似乎最好将其视为临时的,荣耀的isam。此处的Codd和Date不太重要。他们会毫不尴尬地说。 坦白地说,我找不到使用MySQL而不是MSSQL的单一原因。以前的问题以前是花钱的,但是SQL Server 2005 Express是免费的,并且有很多网络托管公司提供每月少于5.00美元的SQL Server完全托管。 MSSQL易于使用,并且具有MySQL中不存在的许多功能。 我认为要注意的主要事情之一是MySQL 5.0之前的版本没有视图,触发器和存储过程。 有关更多信息,请参见MySQL 5.0下载页面。 两者都是DBMS的产品Sql服务器是一个商业应用程序,而MySql是一个opensouces应用程序。这两个产品都包含类似的功能,但是sql服务器应用于企业解决方案,而mysql可能适合较小的实现。如果您需要恢复等功能,复制,真正的安全性和重要性,您需要sql server 与SQL Server相比,MySql占用更少的磁盘空间,并使用更少的内存和cpu @abdu 我发现MySQL在MSSQL之上具有的主要优势是对时区的支持-在时区之间进行很好地更改的能力,同时兼顾了夏时制,这真是太棒了。 比较一下:
在这个答案涉及的扭曲。 至于"更易于使用"的评论,我想说的是,它们是不同的,如果您知道其中一个,则学习另一个会产生开销。
这应该是相当痛苦的!我将MySQL的版本从4.x切换到5.x,各种语句不再像以前那样工作了。查询分析器得到了"改进",因此以前针对性能进行了调整的语句将无法按预期工作。 从使用500GB MySQL数据库获得的经验教训:这是一个微妙的话题,除了琐碎的事! @Cebjyre。无论是企业管理器还是Management Studio,IDE都比我迄今为止所见的MySQL更好。我之所以说"易于使用"是因为我可以在MSSQL中做很多事情,而MySQL却没有MySQL。在MySQL中,我不知道如何仅通过查看查询计划或查看统计信息来优化查询。 MSSQL中的索引调整向导可以对丢失或放错哪些索引进行大多数猜测。 MySQL的一个缺点是数据库没有最大大小。数据库的大小只会增加,直到填满磁盘为止。想象一下,如果该磁盘正在与其他用户共享数据库,并且突然所有用户的查询都失败了,因为他们的数据库无法增长。我很久以前就向MySQL报告了此问题。我认为还没有解决。 从MSSQL到MySQL语法POV,我花了一些时间在MySQL上工作,我发现自己无法做些什么。 在更新过程中,在刷新同一张表的同时,存在对表的双重限制。 另外,UPDATE FROM不起作用,上次我检查它们也不支持Oracle MERGE INTO语法。对我来说,这是个秀场止步器,在那之后我不再以为MySQL可以帮助我。 |
最新内容
相关内容
python如何连接mysql数据库
python如何连接mysql数据库,培训,数据,项目,一致,流程,数据库,参数,结果,接口,语句,python数据库接口支持非常多的数据库,你可以选择适合你项python定时修改数据库
python定时修改数据库,时间,服务,培训,单位,代码,标准,线程,操作,时间差,进程,1.传入执行改库操作的时间update_time,用update_time和当前时间python怎么链接数据库
python怎么链接数据库,培训,数据,一致,流程,项目,数据库,接口,参数,结果,语句,python数据库接口支持非常多的数据库,你可以选择适合你项目的python可以搭配什么数据库
python可以搭配什么数据库,数据,网站,软件,培训,产品,网络,公司,环境,数据库,关系,python支持多种数据库,下面介绍一下MySQL和MongoDb。MySQLpython如何操作mysql数据库
python如何操作mysql数据库,培训,标准,项目,密码,数据库,接口,表字,操作,用户,机子,Python标准数据库接口为PythonDB-API,PythonDB-API为开发关于sql server:批处理文件以”
关于sql server:批处理文件以脚本数据库,关于sql server:批处理文件以脚本数据库,向导,脚本,文件,数据库,Batch file to “Script” a推荐的用于标记或标记的SQL数据库
推荐的用于标记或标记的SQL数据库设计,推荐的用于标记或标记的SQL数据库设计,映射,方法,缩放,说过,Recommended SQL database design关于 sql server:[ADO.NET 错误]:数
关于 sql server:[ADO.NET 错误]:数据库\\master\\中的 CREATE DATABASE 权限被拒绝。尝试为文件 HelloWorld.mdf 附加自动命名关于sql:关系数据库设计的好资源
关于sql:关系数据库设计的好资源,关于sql:关系数据库设计的好资源,站点,教程,最佳实践,调整,Good Resources for Relational Database关于sql server:将数据库密码存储在
关于sql server:将数据库密码存储在启动脚本/配置文件中的最佳方法是什么?,关于sql server:将数据库密码存储在启动脚本/配置文件中的关于数据库设计:需要模式以动态搜索
关于数据库设计:需要模式以动态搜索多个sql表,关于数据库设计:需要模式以动态搜索多个sql表,搜索,模式,动态,用于,Need Pattern for dy关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存