
mysql小巧,功能强大,可跨平台。sqlserver适中,功能强大,不可跨平台。oracle大,功能强大,可跨平台。mysql没有行级check,sqlserver与oracle有。在分页查询上mysql最为简单limit即可处理分页查询。mysql有字符集设定。而sqlserver与oracle是自适应的。其它还有很多的不同与相同。不过都是关系型数据库。都采用了structured
query
language的规范。所以相似度在70-80%,ddl/dml等语句基本相同。价格上,mysql免费开源、sqlserver贵不开源与oracle非企业级免费
1 Oracle跨平台,SQL
Server只能运行在Windows上,而Windows能够安装的硬件是有限的,如Sun的Sparc服务器不能安装Windows,一些大型机、小型机也只能装UNIX,在这些高端机器上就只能跑Oracle了,这注定了Oracle就是高端数据库,而SQL
Server呢,中低端。
2 Oracle真正实现了行级锁,SQL
Server也宣称实现了行级锁,但你实际去试,如果不加索引,其实是不行的。
3 Oracle因为有多版本数据的技术,读写 *** 作不会相互等待,虽然SQL
Server
2005学习Oracle增加了snapshot机制,从而也引进了多版本数据(MySQL也有多版本数据机制,不能说一定是学习Oracle),但是实际效果感觉就是2个版本的数据,隔离级别为read
committed时候,读写不再相互等待,但是把隔离设置为Serializable还是会产生读写相互等待。
4 Oracle的事务日志归档相当方便,而SQL
Server要用事务日志备份来实现,而且还要配置自动作业,启动agent服务。
5 Oracle的数据字典丰富,使得DBA容易判断数据库的各种情况,虽然SQL
Server
2005学习了Oracle的数据字典的特点,但从数量及方便程度上还是相差太多。个人感觉这是Oracle最人性化的地方。
6 Oracle的PL/SQL比SQL
Server的T-SQL功能强大很多。
7 Oracle的触发器比SQL
Server的种类多几种。
8 oracle的备份恢复原理相当简单明了,备份就在 *** 作系统上拷贝数据文件好了,恢复呢,再拷贝回来,数据是旧的,不怕,应用重做日志好了。SQL Server呢,虽然原理在本质上还是这些,但 *** 作起来麻烦多了,麻烦到让你体会不到其本质。
9 Oracle数据库启动可以有多个阶段,使得DBA可以在不同的情况下,通过启动到特定的阶段解决一些特殊问题,而SQL Server只要服务一启动,所有数据库就都打开了。
10. SQL Server给人的感觉是简单易用,但是我要说,如果你继续向前走,就会发现SQL Server的体系结构相当复杂(注意我这里是说的复杂),大体还是沿袭的Sybase的体系结构,这种复杂结构,估计很难有根本性的改变,而Oracle呢,时间越长你越会觉得其体系结构严谨,虽然开始会感觉很难。我的一个比喻,SQL Server是傻瓜相机(就是那些一两千的小数码),Oracle是单反相机(40D,5D,D300),如果你是入门者,那用傻瓜相机好了,在各种环境下拍摄,基本都过得去,用单反,光圈、快门都要自己设定,反倒不如傻瓜相机的效果,如果你是高手了,那傻瓜相机就很难得心应手了。
11. Oracle的书籍一般都比较深,随便一说就是一大批,Epert Oracle、Practical Oracle 8i、Cost-based Oracle,SQL Server呢,恐怕只有那套Inside SQL Server了,虽然SQL Server的书籍数量比Oracle的多的多(特别是在国内),但多数都是step by step的入门书。
12 对比SQL*Plus与sqlcmd(或2000的osql,65的isql),sqlcmd的功能是太简陋,差得太多了。
13 SQLServer的最大优点就是和Windows结合紧密,易用,但是要注意事情都是两面的,这些优点可能导致其致命的缺点,例如易用,使得搞SQL Server的人可以不求甚解,有时候不求甚解是没问题的,但是有时候不求甚解可能会造成灾难,特别是对搞数据库的人来说。不好意思,本来要说SQL Server的优点呢,最后也成了缺点了。
SQL特点:
1、真正的客户机/服务器体系结构。
2、图形化用户界面,使系统管理和数据库管理更加直观、简单。
3、丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4、SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。
5、具有很好的伸缩性,可跨越从运行Windows 95/98的小型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6、对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7、SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
扩展资料:
SQL可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据、建立数据库、査询、更新、维护、数据库重构、数据库安全性控制等一系列 *** 作。
这就为数据库应用系统开发提供了良好的环境,在数据库投入运行后,还可根据需要随时逐步修改模式,且不影响数据库的运行,从而使系统具有良好的可扩充性。
作为嵌入式语言,SQL语句能够嵌入到高级语言程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的 *** 作方式,为用户提供了极大的灵活性与方便性。
优点:数据库系统是用来管理数据的,建立的数理逻辑和集合 *** 作基础上的。
具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。
数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据 *** 作。
目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺点:安全性不够,加了用户级密码容易破解
C/S 结构下对服务器要求很高,否则容易造成 MDB 损坏并发数255。
但是对高强度 *** 作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致 MDB 损坏或者并死不能将 VBA 代码开发的软件系统直接编译成 EXE 可执行文件。
不能脱离 ACCESS 或者 ACCESS RUNTIME 环境,该环境相对其他软件体积较大(50M左右)
数据库中索引的优缺点
为什么要创建索引呢这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每一个列都增加索引,是非常不明智的。这是因为,增加索引也有许多不利的一个方面。
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引,
例如:在经常需要搜索的列上,可以加快搜索的速度;在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:第一,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。第二,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。第三,对于那些定义为text,
image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。第四,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建索引。按照索引列的个数,可以将索引划分为单列索引和符合索引;
按照索引列值的唯一性,可以将索引分为唯一索引和非唯一索引。
Create [unique] index 索引名 on 表名(一个或多个索引列名并用“,”隔开)
优点:查询大量数据时,可以提高查询效率。
缺点:不维护空值,占用一定的资源,插入和更新数据时,影响效率。
优点:数据库系统是用来管理数据的,建立的数理逻辑和集合 *** 作基础上的。
具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。
数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据 *** 作。
目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺点:安全性不够,加了用户级密码容易破解
C/S 结构下对服务器要求很高,否则容易造成 MDB 损坏并发数255。
但是对高强度 *** 作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致 MDB 损坏或者并死不能将 VBA 代码开发的软件系统直接编译成 EXE 可执行文件。
不能脱离 ACCESS 或者 ACCESS RUNTIME 环境,该环境相对其他软件体积较大(50M左右)
SQL存储过程放在SQL数据库中,1,因此在程序中调用的时候不必自己拼接sql语句。2,SQLSERVER会对存储过程进行预编译,因此速度快。3,在网络上不必传输冗长的SQL语句,而是直接调用存储过程的名字,因此可以加快速度当然,在一些外包软件开发中,是不允许使用存储过程的。因为对方不可以把数据库暴露给你,此时你只能使用SQL语句。不过国内的一些小型企业使用SQL存储过程还是很流行的。因为程序代码里不包含SQL语句,因此会数据库会相对安全一些。
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如 UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400 *** 作系统。
1MySQL
MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
与其他数据库管理系统相比,MySQL具有以下优势:
(1)MySQL是一个关系数据库管理系统。
(2)MySQL是开源的。
(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。
(4)MySQL服务器工作在客户/服务器或嵌入系统中。
(5)有大量的MySQL软件可以使用。
2SQL Server
SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。
目前最新版本是SQL Server 2005,它只能在Windows上运行, *** 作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易 *** 作性及其友好的 *** 作界面,深受广大用户的喜爱。
3Oracle
提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。 1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle 6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle 8主要增加了对象技术,成为关系—对象数据库系统。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。
Oracle数据库产品具有以下优良特性。
(1)兼容性
Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
(2)可移植性
Oracle的产品可运行于很宽范围的硬件与 *** 作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种 *** 作系统下工作。
(3)可联结性
Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU62等)。
(4)高生产率
Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。
(5)开放性
Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。
4Sybase
1984年,Mark B Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。Sybase主要有三种版本:一是UNIX *** 作系统下运行的版本; 二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。对UNIX *** 作系统,目前应用最广泛的是SYBASE 10及SYABSE 11 for SCO UNIX。
Sybase数据库的特点:
(1)它是基于客户/服务器体系结构的数据库。
(2)它是真正开放的数据库。
(3)它是一种高性能的数据库。
5DB2
DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。因此它具有速度快、可靠性好的优点。但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。
DB2能在所有主流平台上运行(包括Windows),最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5%。
除此之外,还有微软的 Access数据库、FoxPro数据库等。既然现在有这么多的数据库系统,那么在游戏编程时应该选择什么样的数据库呢?首要的原则就是根据实际需要,另一方面还要考虑游戏开发预算。现在常用的数据库有:SQL Server、My SQL、Oracle、FoxPro。其中MySQL是一个完全免费的数据库系统,其功能也具备了标准数据库的功能,因此,在独立制作时,建议使用。 Oracle虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到。
以上就是关于mysql和sql server 各自得优缺点在那全部的内容,包括:mysql和sql server 各自得优缺点在那、Oracle数据库和Sql server数据库各有什么优缺点、SQL有哪些特点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)