MySQL和SQL Server比较

原创 2007年10月15日 12:00:00
   对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL and SQL Server。这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL。还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度。同时,二者也都提供支持XML的各种格式。 

 

  除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的?让我们看看这两个产品的主要的不同之处,包括发行费用,性能以及它们的安全性。

  根本的区别是它们遵循的基本原则

  二者所遵循的基本原则是它们的主要区别:开放vs保守。SQL服务器的狭隘的,保守的存储引擎与MySQL服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用SQL服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的关键词,所以它比SQL服务器要少一些相关的数据库。同时,MySQL也缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能。

  发行费用:MySQL不全是免费,但很便宜

  当提及发行的费用,这两个产品采用两种绝然不同的决策。对于SQL服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者Visual Studio的费用。但是,如果你想用于商业产品的开发,你必须还要购买SQL Server Standard Edition。学校或非赢利的企业可以不考虑这一附加的费用。

  性能:先进的MySQL

  纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。Yahoo!商业网站就使用MySQL作为后台数据库。

  当提及软件的性能,SQL服务器的稳定性要比它的竞争对手强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂操作,磁盘存储,内存损耗等等。如果你的硬件和软件不能充分支持SQL服务器,我建议你最好选择其他如DBMS数据库,因为这样你会得到更好的结果。
安全功能

  MySQL有一个用于改变数据的二进制日志。因为它是二进制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏。

  在SQL服务器中,你也可以记录SQL的有关查询,但这需要付出很高的代价。

  安全性 


  这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。这两者都使用缺省的IP端口,但是有时候很不幸,这些IP也会被一些黑客闯入。当然,你也可以自己设置这些IP端口。

  恢复性:先进的SQL服务器

  恢复性也是MySQL的一个特点,这主要表现在MyISAM配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQL服务器而言就表现得很稳键。SQL服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。

  根据需要决定你的选择

  对于这两种数据库,如果非要让我说出到底哪一种更加出色,也许我会让你失望。以我的观点,任一对你的工作有帮助的数据库都是很好的数据库,没有哪一个数据库是绝对的出色,也没有哪一个数据库是绝对的差劲。我想要告诉你的是你应该多从你自己的需要出发,即你要完成什么样的任务?而不要单纯地从软件的功能出发。

  如果你想建立一个.NET服务器体系,这一体系可以从多个不同平台访问数据,参与数据库的管理,那么你可以选用SQL服务器。如果你想建立一个第三方站点,这一站点可以从一些客户端读取数据,那么MySQL将是最好的选择。

 

对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析   Oracle Database Oracle Database,又名Oracle RDBMS,或简称...
  • ranran_5300
  • ranran_5300
  • 2015年08月31日 09:01
  • 7161

sql优化:SQL Server与Oracle性能对比(插入100w条数据时)

之前在论坛看到有人提问,问题如下:       网上有人说oracle 写入数据速率约为sqlserver的7.5倍,但我测试的结果刚好相反             http://bbs.csdn.n...
  • yupeigu
  • yupeigu
  • 2016年12月24日 23:28
  • 1938

SQL Server 中日期比较

1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dat...
  • binsoft
  • binsoft
  • 2014年05月15日 18:43
  • 929

sql server日期比较日期查询常用语句

sql server日期比较日期查询常用语句 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等...
  • suleil1
  • suleil1
  • 2015年10月28日 16:48
  • 1326

sql 当前时间跟数据库字段做比较

mysql 时间比较
  • u012394981
  • u012394981
  • 2015年09月10日 14:48
  • 3774

SQL Server与MySQL数据库对比

Microsoft SQL Server 2008作为一个数据库平台在所有重要商业领域都胜过MySQL。它提供了一个大型的资源网络、行业领先的性能和企业级的可扩展性、最高级的安全性、一个广泛的商业智能...
  • madun
  • madun
  • 2014年01月21日 16:57
  • 19840

SQL Server 比较两个数据库的视图和存储过程结构差异

IF EXISTS ( SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo]....
  • tuzhen007
  • tuzhen007
  • 2014年02月26日 11:28
  • 1013

MySql Oracle SqlServer三大数据库的数据类型列表

http://blog.csdn.net/zztfj/article/details/6064193 MySql数据类型   数据类型 描述 字节 推荐使用 SMALLI...
  • bytxl
  • bytxl
  • 2014年02月15日 14:23
  • 1096

MySQL和Sql Server的sql语句区别

项目需要做sql server适配,因此需要将所有写的mysql的sql语句转变成sqlserver里面的sql语句。在做适配的过程中,总结出了以下几点关于MySQL和SQLServer的sql语句的...
  • u010121883
  • u010121883
  • 2015年12月24日 21:28
  • 4533

SQLServer数据迁移到Mysql

Navicat 是卓软数码科技有限公司生产的一系列 MySQL、MariaDB、Oracle、SQLite、PostgreSQL 及 Microsoft SQL Server 的图形化数据库管理及发展...
  • l294333475
  • l294333475
  • 2015年01月20日 15:13
  • 1501
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL和SQL Server比较
举报原因:
原因补充:

(最多只允许输入30个字)