oraclesqlservermysql与db2的比较 - oracle 开发
db2和oracle的一些区别
END PRO1;
3、控制语句的不同
db2: IF THEN ......ELSEIF THEN .... END IF;
oracle: IF THEN ......ELSIF THEN .... END IF;
db2:CREATE PROCEDURE PRO1()
LANGUAGE SQL
P1: BEGIN
--变量定义
DECLARE INSERT_DATE TIMESTAMP;
2)同时作为输入输出参数的写法不同
db2: CREATE PROCEDURE PRO1 (INOUT OrgID int) INOUT连着写
oracle:CREATE PROCEDURE PRO1 (OrgID IN OUT int) IN OUT中间空格隔开,而且必须IN在OUT之前
1、创建PROCEDURE的参数的区别
1)参数类型和参数名称的位置不同
db2: CREATE PROCEDURE PRO1 (IN OrgID int)
oracle:CREATE PROCEDURE PRO1 (OrgID IN int)
db2中变量定义在BEGIN END体内,并且每个变量都要用DECLARE声明;存储过程结束时,END后跟P1,并且不需要分号
oracle中变量定义必须在BEGIN END体外,变量都不需要用DECLARE声明(有种说法是,第一个变量需要DECLARE,其他变量不需要);存储过程结束时,END后跟存储过程的名称,并且需要分号
3)没有输入或输出参数时
db2:ห้องสมุดไป่ตู้ CREATE PROCEDURE PRO1 ()
关系型数据库管理系统SQL Server和DB2之比较
理或混合在 线分析处理分割 、 分布式分割单 元 、 持续计算 和预制缓 存等
特性 , 极大地提升了其分析 服务器 的可伸缩性 。而在 D 2 B 中早已经使用
了 S ae — ohn hrd N tig构架 以有效允许 数据库 增长超 出单 台服务 器 的功能
N 等等 。同时也支持多种硬件 平台 , T 包括 I M大型机 、C服务器等 。 B P 最 适用于海量数据处理, 并且可跨平 台等等 。这些优点使 D 2 B 在企业级 的
Widw 客户 . no s 可以用 AD D O, L DB OD C连接 ; D 2跨 平 台 , O, A 0 E , B 而 B 多层次结构 。 支持 O B J B D C,D C等客户。
据 库管理 系统 。新版的 S L e e 的可用性得 到进一 步提高 , Q rr Sv 安全性得
关 系型数据库 管理 系统 S LSre 和 D 2之 比较 Q evr B
袁 开艳 , 静 罗
( 九江学 院电子工程学 院, 江西九江 ,3 0 5 32 0 )
摘 要 :对 比研 究 了 S LS ̄e 数 据 库 和 D 2数据 库 两种 关 系型 数 据 库 管 理 系统 。 Q e r B 指
0 ,o , M/ MS V E, S2以及 U i s4 o V E , S 0 , nx环境 中的 HP U — X客户 杌胡匣 务器
定风险。D 2长期在大型企业 中得 到广泛应用 , B 经过无数次的验证 , 风
险小且向下兼容性好 。而 D 2的软件开发实验室早在 19 B 9 4年便 已经通 过了 1O 90 S 0 0国际质量管理标准 的验 证与认可 ,因而其软件可靠性较 高, 故障率低 。 可伸缩性及并行性方面 ,Q re 并行实施 和共存模型 不很成熟 , S LS v r e 很难处理 1 3益增多的用户数 和数据卷 ,伸缩性 有限 ;但新 版本 的 S L Q ev 增 Sr r 加了商业智能使其能并行分割处理 ,创建远 程关 系在线分析处 e
数据库管理系统比较MySQLvsOraclevsSQLServer
数据库管理系统比较MySQLvsOraclevsSQLServer 数据库管理系统比较:MySQL vs Oracle vs SQL Server引言:数据库管理系统是现代信息技术领域中不可或缺的一环。
随着数据量的急剧增加和数据库应用的广泛应用,选择适合自己需求的数据库管理系统变得至关重要。
在本文中,我们将比较三种常见的数据库管理系统:MySQL、Oracle和SQL Server。
通过对比它们的性能、功能、可扩展性和使用成本,为读者提供一个更好地了解和选择的依据。
一、性能比较在数据库管理系统中,性能是一个至关重要的因素。
下面将对MySQL、Oracle和SQL Server的性能进行比较。
1.1 MySQL性能MySQL是一个轻量级的开源数据库管理系统,以其高性能而闻名。
它采用多线程处理机制和高效的索引算法,能够处理大规模的数据访问和高并发请求。
此外,MySQL还支持垂直和水平扩展,可根据实际需求进行灵活配置和调整。
因此,在对于大多数中小型应用来说,MySQL提供了相对较好的性能。
1.2 Oracle性能Oracle是一个功能强大且成熟的商业数据库管理系统。
它具有出色的性能,并且能够处理大规模的复杂数据模型。
Oracle采用了先进的事务处理机制和高效的查询优化算法,使其在处理高并发访问和复杂查询时具有出色的性能表现。
然而,Oracle的性能和功能也伴随着更高的硬件要求和许可成本。
1.3 SQL Server性能SQL Server是由微软公司开发的关系型数据库管理系统。
它在处理大规模数据时表现出色,并且支持高并发访问和复杂查询。
SQL Server 采用了先进的内存管理和缓存技术,以提高查询速度和响应时间。
此外,SQL Server还具有良好的稳定性和可靠性,适用于中小型企业的应用场景。
综合比较,MySQL适用于中小型应用,对性能要求较高且成本敏感的场景;Oracle适用于大规模企业级应用,对功能和可靠性要求较高的场景;SQL Server适用于中小型企业应用,对性能和稳定性要求较高的场景。
主流数据库SQL SERVER、DB2、MY SQL、SYSBASE和Oracle的产生、发展和各自的优势是什么?
Oracle平时作业第一次目录一.目前主流数据库SQL SERVER、DB2、MY SQL、SYSBASE和Oracle的产生、发展和各自的优势是什么?请加以比较。
(2)1.1 SQL SERVER: (2)1.1.1产生 (2)1.1.2发展 (2)1.1.3优缺点 (3)1.2 DB2: (4)1.2.1产生 (4)1.2.2发展: (4)1.23优缺点: (8)1.3 MYSQL (9)1.3.1产生 (9)1.3.2发展 (9)1.3.3 优缺点 (11)1.4 SYSBASE (11)1.4.1产生 (11)1.4.2发展: (12)1.4.3优缺点 (12)1.5 Oracle: (12)1.5.1产生 (12)1.5.2发展 (12)1.5.3优缺点 (13)二,用户的系统权限有哪些?分别有什么功能?用户的对象权限有哪些?用户的系统角色有哪些?分别有什么功能? (14)2.1系统的权限及功能: (14)2.1.1群集权限及功能 (14)2.1.2数据库权限及功能 (14)2.1.2索引权限及功能 (14)2.1.3过程权限及功能 (15)2.1.4概要文件权限及功能 (15)2.1.5角色权限及功能 (15)2.1.6回退段权限及功能 (16)2.1.7序列权限及功能 (16)2.1.8会话权限及功能 (16)2.1.9同义词权限及功能 (17)2.1.10表权限及功能 (17)2.1.11表空间权限及功能 (18)2.1.12用户权限及功能 (18)2.1.13视图权限及功能 (18)2.1.14触发器权限及功能 (19)2.1.15专用权限及功能 (19)2.1.16其他权限及功能 (20)2.2用户权限 (20)2.3用户的系统角色及功能 (21)2.3.1、用户与模式 (21)2.3.2、创建及修改用户 (21)一.目前主流数据库SQL SERVER、DB2、MY SQL、SYSBASE 和Oracl e的产生、发展和各自的优势是什么?请加以比较。
SQLServer,MySQL,Oracle三者的区别
SQLServer,MySQL,Oracle三者的区别目录1 Oracle、Sql Server、MySql简介1.1 Oracle1.2 SQL Server1.3 MySQL2 Oracle和MySQL的主要区别2.1 客户端和命令窗口2.2 市场占有率及其他2.3 Oracle也与MySQL操作上的一些区别2.3.1 组函数用法规则2.3.2 自动增长的数据类型处理2.3.3 主键2.3.4 单引号的处理2.3.5 翻页的SQL语句的处理2.3.6 长字符串的处理2.3.7 日期字段的处理2.3.8 空字符的处理2.3.9 字符串的模糊比较1 Oracle、Sql Server、MySql简介返回1.1 OracleOracle 能在所有主流平台上运行(包括Windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。
如果Windows NT不能满足需要,用户可以把数据库移到UNIX中。
Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
Oracle获得最高认证级别的ISO标准认证.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录Oracle多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。
Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。
与 IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。
Oracle的产品可运行于很宽范围的硬件与操作系统平台上。
可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。
常见数据库优缺点对比
全性 SQL server 没有获得任何安全证书。 Oracle Server 获得最高认证级别的ISO标准认证。 DB2 获得最高认证级别的ISO标准认证
能 SQL Server 多用户时性能不佳 racle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。B2 适用于数据仓库和在线事物处理性能较高。
SQL Server 2016最值得关注的10大新特性
全程加密技术(Always Encrypted)
动态数据屏蔽(Dynamic Data Masking)
JSON支持
多TempDB数据库文件
PolyBase
Query Store
行级安全(Row Level Security)
SQL SERVER支持R语言
伸缩性,并行性 SQL server 并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。 Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。 DB2 B2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。
SQL Server
Microsoft SQL Server是微软公司开发的大型关系型数据库系统。SQL Server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Windows操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都能得到较大的提升。对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构,SQL Server都是一个很好的选择。SQL Server的缺点是只能在Windows系统下运行。 1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。 Microsoft在与Sybase分道扬镳后,随后在其6.05和7.0版本中重写了核心数据库系统。
DB2和ORACLE的印象比较
一个项目需要DB2,以前没用过,用了WINDOWS 2008下的DB29.7 好几周,算入门了吧,下面这文章就当一个ORACLE使用者眼里的DB2的印象吧,也许有些东西可能有偏差,但是就是我自己的印象:
1、体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了。
17、再补充一点,DB2的在线文档有全中文的,快速入门什么的写得很不错,ORACLE这方面就差点了,不过想深入了解啥,还是要看E文。
18、DB2可是要许可证的呀,没有许可证,只能用90天,这个我觉得很不爽
8、DB2的远程网络连接采用的编目方式描述连接串的方式我感觉很不爽,为了改个客户端的连接服务器的IP地址,所有的客户端都需要将编目删除,然后重新编目连接地址,晕倒100多台PC机搞下来,尽管可以使用脚本,但是还是把人都快搞疯了。ORACLE采用的用文件来配置远程服务器的方式,所有的PC机都通过更新服务器直接更新本机的TNSNAME,1分钟搞定。
12、DB2的锁自动管理机制,我比较喜欢,打开后,互锁的概率大大降低,相同的程序,在DB2下锁明显少许多,但是不爽的是DB2的select命令也是加锁的。
13、DB2 9.7的ORACLE兼容模式,我也很喜欢,迁移麻烦少了许看要比ORACLE 要强一些,几乎所有的内存参数都能自动管理,ORACLE11G貌似也可以全部自动管理了。
4、DB2的命令执行方式,我很喜欢,可以在命令行上执行SQL,也可以在命令窗口上执行SQL,相对SQLPLUS灵活多了;
5、DB2的自动维护功能做的很好,可以定期自动整理数据库碎片和重建索引,唯一不大理想的是自动维护的备份功能不能指定压缩备份,相对而言ORACLE的自动维护功能就很一般了;
DB2和Oracle的区别
例子:如上图,从grandchild开始查询其所有的父节点,首先设定虚拟表起点,即左边第四行;依次往上推,其父亲是son = 上一行的child,即VT.parent = T.child...最后查询结果为:---------------------------sonfathergrandpaDB2、ORACLE SQL写法的主要区别说实话,ORACLE把国内的程序员惯坏了,代码中的SQL充斥着大量ORACLE 特性,几乎没人知道ANSI的标准SQL是什么样子,导致程序脱离了ORACLE 根本无法运行,还好随着hibernate的流行,情况有了很大改观DB2作为众多国际大客户的选择(据说世界500强80%用DB2,前100强更是全部采用DB2),在国内真的很不流行,属于小众数据库,但是没办法,现在的项目要用DB2,所以不得不面对熟悉ORACLE的开发同事们写出的“ORACLE版代码”,众多的兼容性问题搞得很是头大,遂整理了一份经常遇到的兼容性问题列表供大家参考,貌似最近问题少了些,但愿这个势头能继续下去1、数据类型转换函数2、Where条件弱类型判断oracle: where 字符型字段in (整形) 是允许,DB2不允许select 'abc' from dual where '1' in (1) 在oracle下可通过select 'abc' from sysibm.sysdummy1 where '1' in (1) 在DB2下报错oracle:where 字符型字段=数字型字段允许,DB2不允许select 'abc' from dual where '1'=1 在oracle下可通过select 'abc' from sysibm.sysdummy1 whre '1'=1 在DB2下报错3、replace关键字oracle支持,DB2不支持create or replace语句在DB2下是非法的4、子查询别名ORACLE 支持select * from(select 1 from dual) 或者select *from(select 1 from dual) tDB2支持select * from(select 1 from sysibm.sysdummy1) t 或者select * from(select 1 from sysibm.sysdummy1) as t固兼容的写法是select * from(子查询) t5、DATE数据类型的区别ORACLE中DATE型也是带有时分秒的,但DB2下DATE只是年月日,如'2007-04-28',且可作为字符串直接操作,DB2中要记录时分秒必须采用TIMESTAMP型一个采用hibernate后常见的兼容问题是:如果在映射文件中定义了某个字段为Date型<property name="createTime" type="java.util.Date" ><column name="CREATE_TIME" length="7" /></property>则在DB2下,此字段必须定义为timestamp,而不能定义成DATE,不然会报出字符串右截断的错误对于DB2来说,在查询条件中可以直接用字符串指定日期或时间戳类型字段的值,例如where create_date = '2007-04-26' 、wherecreate_timestamp = '2007-04-26 08:08:08' ,无须使用字符串转日期函数6、分页的处理如果采用JDBC分页的话,注意rownum在DB2中不受支持,比如从masa_area表中取得area_id最小的10条记录,语句分别如下,注意这里的别名t书写方法ORACLE: select t.* from (select rownum as r1 ,masa_area.* from masa_area order by area_id) t where t.r1<=10DB2: select t.* from (select rownumber() over() as r1 ,masa_area.* from masa_area order by area_id) t where t.r1<=107、decode函数 decode函数在DB2不被支持,兼容的写法是采用case when8、NVL函数 nvl写法在DB2不被支持,兼容的写法是采用coalesce ORACLE: select NVL(f_areaid,'空') from masa_user等同于select coalesce(f_areaid,'空',f_areaid) from masa_userDB2: select coalesce(f_areaid,'空',f_areaid) from masa_user9、substr的不同DB2substr举例如下:masa_group表的f_groupCode字段定义成VARCHAR(100),所以下面这个语句不会出错,如果是substr(f_groupCode,1,101)就出错了select * from masa_group where substr(f_groupCode,1,50) ='001006' order by f_groupcode在DB2下无错,但是select * from masa_group where substr('001006', 1, 50) = '001006' order by f_groupcode就报错,说第三个参数超限这是因为'001006'已经定义为一个长度为6的charater了这点和ORACLE有很大不同,请大家注意如果是要从第一位取到最后一位,稳妥的办法是不要加第三个参数ORACLE:select substr('123456',1) from dualDB2:select substr('123456',1) from sysibm.sysdummy1都没有问题10、获取操作系统当前日期ORACLE SysdateDB2CURRENT DATE。
五大主流数据库比较 (DB2 Oracle MySQL SyBase SQLServer)
一、开放性1. SQL Server只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。
而且windows平台的可靠性,安全性和伸缩性是非常有限的。
它不象unix那样久经考验,尤其是在处理大数据库。
2. Oracle能在所有主流平台上运行(包括windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持。
Oracle数据库是以结构化查询语言为基础的大型关系数据库,他是用方便逻辑管理的语言来操纵大量有规则的数据的集合,是目前最流行的客户—服务器体系结构的数据库之一。
oracle 的特点:1),支持多用户,大事务量的事务处理2),数据安全性和完整性控制3),提供对于数据库操作的接口4),支持分布式事务处理5),可移植性,可兼容性和可连接性3. Sybase ASE能在所有主流平台上运行(包括windows)。
但由于早期Sybase与OS集成度不高,因此VERSION11.9.2以下版本需要较多OS和DB级补丁。
在多平台的混合环境中,会有一定问题。
4. DB2能在所有主流平台上运行(包括windows)。
最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。
5.MySQLMysql 能在所有主流平台上运行(包括windows)。
二、可伸缩性,并行性1. SQL server并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
2. Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。
Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
Oracle和DB2间基本架构和管理的差异
Oracle和DB2间基本架构和管理的差异1、简介当今IT的环境正经历着剧烈的变化,依靠单一的关系型数据库管理系统(RDBMS)管理数据的公司开始逐渐减少。
分析家的报告指出,今天超过90%的公司都拥有不只一种RDBMS。
在现在紧张的经济情况下,实际的需求正在挑战IT机构人员的工作极限。
一个公司为管理每种RDBMS而配备不同DBA的情况,越来越少见了。
今天的DBA必须跨平台管理不同的RDBMS,这是非常普通的事。
“58%的DBA被要求管理一种以上的数据库平台。
”―――来自: 的调查通常,一个DBA不但掌握基本的关系理论知识,同时具备一种专门的RDBMS经验。
数据库设计和管理的基本原理在所有RDBMS之间是相通的。
成为一名成功的跨平台的DBA,关键是掌握对术语的真正理解和不同RDBMS的细微差别。
本文将讨论多平台的Oracle和DB2 UDB之间的基本架构和管理的差异。
2、基本组件在不同平台之间,大部分的对象类型和功能是非常相似的,一些很重要差异是存储过程的使用方式和日志生成方式。
本文将详细讨论这些主题。
表1:基本数据库组件中的常用术语的差异3、产品选项当在安装任何一种数据库时,需要选择版本。
为了满足你的IT需求并做出正确的决定,了解各个数据库版本之间的差异是很重要的。
Oracle 10g:Enterprise Edition;Standard Edition;Express Edition。
企业版是使用最多的版本,如果你想使用OEM附加包,这个版本可以满足需要。
DB2 UDB for Linux/Unix/Windows(LUW) V 9.1:数据仓库版;企业服务器版(ESE);工作组版;简化版;个人版;通用开发版;个人开发版。
在DB2 UDB V 8.1之前,在公司环境方面你有两种选择:企业版(Enterprise Edition-EE)和扩展企业版(Extended Enterprise Edition-EEE)。
oracle与db2的区别
oracle与db2的区别数据库2009-11-10 16:37:51 阅读877 评论0 字号:大中小订阅系统结构概述首先,我们需要理解Oracle 使用的架构,并理解它与DB2 的不同之处。
图1 展示了Oracle 的系统结构。
将该图与图2 进行比较,后者显示了DB2 的系统结构。
在阅读本文的时候,为便于理解,可以参照这两个图。
图1. Oracle on Linux, UNIX, and Windows Version 10.2 的系统结构图2. DB2 on Linux, UNIX, and Windows 系统结构回页首实例在Oracle 和DB2 中,实例的概念是类似的。
在这两者之中,实例都是指后台进程与共享内存的组合。
两者之间的主要差别在于,在Oracle 中每个实例只能有一个数据库,而在DB2 中多个数据库可以共享一个实例。
在Oracle 中,由于数据库与实例是一对一的关系,因此用CREATE DATABASE 命令创建一个数据库的同时便隐式地创建了一个实例。
或者,为了在计算机上创建一个Oracle 实例,也可以使用Database Configuration Assistant,或者使用ORADIM 实用程序,后者是Oracle 9i 通过NEW 选项提供的。
另外还必须提供某些信息,包括系统标识符(System Identifier,SID)或一个服务名称、实例密码、最大用户数、启动模式等等。
类似地,为了删除实例,可以使用ORADIM 实用程序加DELETE 选项。
这里需要提供SID 或服务名称。
除非在安装过程中创建一个新的数据库,否则在以fresh 方式安装Oracle 的时候,不会创建缺省的实例。
在DB2 中,当在Windows 平台上安装了该产品之后,便缺省地创建了一个实例"DB2"。
在Linux 和UNIX 中,缺省的实例名称为"db2inst1"。
SQL server和DB2对比
Microsoft SQL Server 2008提供了更好的性能和扩展性、高有效性、行业领先的安全性、更容易的管理能力、提高的开发人员生产力、领先的商业智能和数据仓储能力、一个用于主机OLTP的平台和SAP集成——所有这些都以低于IBM DB2的总体拥有成本提供。
基于此,许多公司从DB2移植到了SQL Server。
目前SQL Server在新的关系型数据库管理系统许可证市场中所占的份额高于DB2。
对比方面·总体拥有成本(TCO)和ROI·性能和可扩展性·高有效性·安全性·管理能力·开发人员生产力·商业智能和数据仓库·OLTP·SAP集成一.TCO和ROI●初始获得成本低于IBM DB2。
SQL Server的超高性价比降低了硬件成本。
●SQL Server 2008使许多常规数据库管理工作自动化、流线化或消除了这些工作,使得数据库管理成本低于IBM DB2。
●SQL Server 2008包含DB2用户必须以额外插件来购买的特性,包括:所有的商业智能、报表、分析、ETL、XML功能、数据仓库、安全性和性能优化。
●SQL Server许可证费用低于IBM DB2,降低了它未来的TCO和提高了它的ROI。
DB2的许可证费用可能比SQL Server贵5-6倍,而多核许可证的费用则贵更多倍。
●SAP TCO 研究通过将SQL Server与其它数据库做对比,结果表明客户将数据库管理员成本降低了55%,将总TCO降低了37%。
案例研究:客户更愿意选择SQL Server 而不是DB2✓Borgata Hotel Casino & Spa,在大西洋城的第一个娱乐场,通过使用SQL Server提高了操作效率并节省了$400,000。
✓阿拉斯加州税务部门选择了SQL Server而不是DB2来为阿拉斯加州建立7TB的数据仓库。
oracle、MySQL、SQLServer的比较
oracle、MySQL、SQLServer的⽐较MySql的优点:1 MYSQL⽀持5000万条记录的数据仓库(3.x版本就⽀持了)2 MYSQL适应所有平台。
3 MYSQL是开源软件,开源的东西似乎总是⽐较实在⼀点,不会有太多商业化的考虑。
4 学起来简单5 MYSQL 因为是开源的,所以⽀持任意修改,也就是说你可以去除你不需要的功能,从⽽简化MYSQL,提⾼速度。
6美国西部时间2006年2⽉4⽇,测试⼚商Coverity公司发表声明,称对MySQL数据库软件的源代码进⾏分析后,结果表明其缺陷数量远远⼩于商业数据库软件的⽔平。
7使⽤C和C++编写,并使⽤了多种编译器进⾏测试,保证源代码的可移植性8⽀持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统9为多种编程语⾔提供了API。
这些编程语⾔包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
10⽀持多线程,充分利⽤CPU资源11优化的SQL查询算法,有效地提⾼查询速度12既能够作为⼀个单独的应⽤程序应⽤在客户端服务器⽹络环境中,也能够作为⼀个库⽽嵌⼊到其他的软件中提供多语⾔⽀持,常见的编码如中⽂的GB 2312、BIG5,⽇⽂的Shift_JIS等都可以⽤作数据表名和数据列名13 提供TCP/IP、ODBC和JDBC等多种数据库连接途径14 提供⽤于管理、检查、优化数据库操作的管理⼯具MySql的缺点:1、MySQL最⼤的缺点是其安全系统,主要是复杂⽽⾮标准,另外只有到调⽤mysqladmin来重读⽤户权限时才发⽣改变。
2、MySQL的另⼀个主要的缺陷之⼀是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的⼀种固定的范围限制)可以通过⼤量的数据类型来补偿。
SQL Server,Oracle,DB2上约束建立语句对比
约束用于强制行数据满足特定的商业规则(数据类型是强制列的数据满足规则)约束有五种类型:NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECKSQL SERVER上的NOT NULL约束:1.CREATE TABLE U_emp(2.empno bigint,3.ename VARCHAR(10) NOT NULL,4.job VARCHAR(9),5.mgr bigint,6.hiredate DATE,7.sal decimal(7,2),m decimal(7,2),9.deptno decimal(7,2) NOT NULL);ORACLE上的NOT NULL约束:1.CREATE TABLE emp(2.empno NUMBER(4),3.ename VARCHAR2(10) NOT NULL,4.job VARCHAR2(9),5.mgr NUMBER(4),6.hiredate DATE,7.sal NUMBER(7,2),m NUMBER(7,2),9.deptno NUMBER(7,2) NOT NULL);DB2上的NOT NULL约束:1.CREATE TABLE U_emp(2.empno INTEGER,3.ename VARCHAR(10) NOT NULL,4.job VARCHAR(9),5.mgr INTEGER,6.hiredate DATE,7.sal DECIMAL(7,2),m DECIMAL(7,2),9.deptno DECIMAL(7,2) NOT NULL);SQL SERVER上的UNIQUE约束:1.CREATE TABLE U_dept(2.deptno INTEGER,3.dname VARCHAR(14),4.loc VARCHAR(13),5.CONSTRAINT dept_dname_uk UNIQUE(dname));ORACLE上的UNIQUE约束:1.CREATE TABLE dept(2.deptno NUMBER(2),3.dname VARCHAR2(14),4.loc VARCHAR2(13),5.CONSTRAINT dept_dname_uk UNIQUE(dname));DB2上的UNIQUE约束:1.CREATE TABLE U_dept(2.deptno INTEGER,3.dname VARCHAR(14) not null,4.loc VARCHAR(13),5.CONSTRAINT dept_dname_uk UNIQUE(dname));SQL SERVER上的PK 约束:1.CREATE TABLE P_dept(2.deptno INTEGER,3.dname VARCHAR(14),4.loc VARCHAR(13),5.CONSTRAINT dept_dname_uk1 UNIQUE (dname),6.CONSTRAINT dept_deptno_pk1 PRIMARY KEY(deptno));ORACLE上的PK约束1.CREATE TABLE dept(2.deptno NUMBER(2),3.dname VARCHAR2(14),4.loc VARCHAR2(13),5.CONSTRAINT dept_dname_uk UNIQUE (dname),6.CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));DB2和的PK约束:1.CREATE TABLE P_dept(2.deptno INTEGER not null,3.dname VARCHAR(14) not null,4.loc VARCHAR(13),5.CONSTRAINT dept_dname_uk1 UNIQUE (dname),6.CONSTRAINT dept_deptno_pk1 PRIMARY KEY(deptno));SQL SERVER上的FK 约束:1.CREATE TABLE F_emp(2.empno INTEGER,3.ename VARCHAR(10) NOT NULL,4.job VARCHAR(9),5.mgr INTEGER,6.hiredate DATE,7.sal DECIMAL(7,2),m DECIMAL(7,2),9.deptno INTEGER NOT NULL,10.CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)11.REFERENCES p_dept (deptno));ORACLE上的FK约束:1.CREATE TABLE emp(2.empno NUMBER(4),3.ename VARCHAR2(10) NOT NULL,4.job VARCHAR2(9),5.mgr NUMBER(4),6.hiredate DATE,7.sal NUMBER(7,2),m NUMBER(7,2),9.deptno NUMBER(7,2) NOT NULL,10.CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)11.REFERENCES dept (deptno));DB2上的FK约束:1.CREATE TABLE F_emp(2.empno INTEGER,3.ename VARCHAR(10) NOT NULL,4.job VARCHAR(9),5.mgr INTEGER,6.hiredate DATE,7.sal DECIMAL(7,2),m DECIMAL(7,2),9.deptno INTEGER NOT NULL,10.CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)11.REFERENCES p_dept (deptno));FK约束的几个特点:1.FOREIGN KEY:在表级定义时需要2.REFERENCES:指定主表及其主键列3.ON DELETE CASCADE:级联删除选项SQL SERVER上的CHECK约束:1.create table test ( deptno bigint constraint emp_deptno_ck check (deptno2.between 10 and 99))ORACLE上的CHECK约束:1.create table test ( deptno number(2) constraint emp_deptno_ck check (deptno2.between 10 and 99))DB2 上的CHECK约束:1.create table test ( deptno number(2) constraint emp_deptno_ck check (deptno2.between 10 and 99))来源:网络编辑:联动北方技术论坛。
IT认证-四种主流数据库的比较
四种主流数据库的比较四种主流数据库的比较四种主流数据库的比较2010-06-11 19 08四种主流数据库的比较目前有许多DBMS产品如DB2、Oracle、Microsoft SQL Server、Sybase SQLServer、Informix、MySQL等它们在数据库市场上各自占有一席之地。
下面简要介绍几种常用的数据库管理系统。
(1)DB2 DB2第一种使用使用SQL的数据库产品。
DB2于1982年首次发布现在已经可以用在许多操作系统平台上它除了可以运行在OS/390和VM等大型机操作系统以及中等规模的AS/400系统之外IBM还提供了跨平台(包括基于UNIX的LINUXHP-UXSun Solaris以及SCO UnixWare还有用于个人电脑的Windows 2000系统)的DB2产品。
应用程序可以通过使用微软的ODBC接口、Java的JDBC接口或者CORBA接口代理来访问DB2数据库。
DB2有不同的版本比如DB2 Everyplace是为移动用户提供的一个内存占用小且性能出色的版本DB2 for z/OS则是为主机系统提供的版本Enterprise Server Edition(ESE)是一种适用于中型和大型企业的版本Workgroup Server Edi on(W SE)主要适用于小型和中型企业它提供除大型机连接之外的所有ESE特性而DB2 Express则是为开发人员提供的可以免费使用的版本。
IBM是最早进行关系数据库理论研究和产品开发的公司在关系数据库理论方面一直走在业界的前列所以DB2的功能和性能都是非常优秀的不过对开发人员的要求也比其他数据库系统更高使用不当很容易造成宕机、死锁等问题DB2在SQL的扩展方面比较保守很多其他数据库系统支持的SQL扩展特性在DB2上都无法使用同时DB2对数据的类型要求也非常严格在数据类型不匹配的时候会报错而不是进行类型转换而且如果发生精度溢出、数据超长等问题的时候也会直接报错这虽然保证了数据的正确性但是也使得基于DB2的开发更加麻烦。
深度对比Oracle与SQLServer
深度对比Oracle与SQL Server1.概述1.1.产品特点对比开放性SQL Server 只能在Windows 上运行,没有丝毫的开放性,操作系统的稳定对数据库是十分重要的。
Windows9X系列偏重于桌面应用,NT server只适合中小型企业。
而且Windows平台的可靠性,安全性和伸缩性是非常有限的。
它不象UNIX那样久经考验,尤其是在处理大数据量的关键业务时。
Oracle 能在所有主流平台上运行(包括 Windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持。
DB2 能在所有主流平台上运行(包括Windows)。
最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.可伸缩性、并行性SQL server并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
Oracle 平行服务器通过使一组结点共享同一簇中的工作来扩展WindowsNT的能力,提供高可用性和高伸缩性的簇的解决方案。
如果WindowsNT不能满足需要, 用户可以把数据库移到UNIX中。
DB2具有很好的并行性。
DB2把数据库管理扩充到了并行的、多节点的环境。
数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。
数据库分区有时被称为节点或数据库节点。
安全性SQL server 没有获得任何安全证书。
Oracle Server 获得最高认证级别的ISO标准认证。
DB2 获得最高认证级别的ISO标准认证。
性能SQL Server 多用户时性能不佳Oracle 性能最高,保持WindowsNT下的TPC-D和TPC-C的世界记录。
DB2 适用于数据仓库和在线事物处理,性能较高。
客户端支持及应用模式SQL Server C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB ,ODBC连接.Oracle 多层次网络计算,支持多种工业标准,可以用ODBC, JDBC,OCI等网络客户连接DB2 跨平台,多层结构,支持ODBC,JDBC等客户操作简便SQL Server 操作简单,但只有图形界面Oracle 较复杂,同时提供GUI和命令行,在WindowsNT和UNIX下操作相同DB2 操作简单,同时提供GUI和命令行,在WindowsNT和UNIX下操作相同使用风险SQL server 完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。
2020年(Oracle管理)Oracle10g、Db2v95、SqlServer2000性能对比(用数据说话)
(Oracle管理)Oracle10g、Db2v95、SqlServer2000性能对比(用数据说话)Oracle10g、Db2v9.5、SqlServer2000性能对比(用数据说话)1.后台调用存储过程性能对比表:结论:后台做插入操作db2性能最高、更新和删除操作oracle性能最高,做批量提交与每条提交一次相比,oracle性能相差不大,但db2、sqlserver性能相差比较大(除sqlserver删除的性能有所下降外)。
2.前台java调用sql语句性能对比表:结论:1.java向oracle,db2,sqlserver插入10000行数据后提交数据,与每插入1行数据提交一次的性能对比,oracle性能最少提高3倍、db2性能最少提高6倍,sqlserver性能最少提高5倍,如果批量处理与批量提交对比,oracle性能最少提高25倍,db2性能最少提高25倍,sqlserver性能提高很小。
2.java向oracle,db2,sqlserver插入10000行数据后提交数据,与每插入1行数据提交一次的性能对比,oracle的性能最高。
3.java向oracle,db2,sqlserver更新10000行数据后提交数据,与每更新1行数据提交一次的性能对比,oracle性能最少提高13倍、db2性能降低1.4倍,sqlserver性能最少提高1.4倍,如果批量处理与批量提交对比,oracle性能最少提高2倍,db2性能最少提高1.3倍,sqlserver性能提高有所降低。
4.java向oracle,db2,sqlserver更新10000行数据后提交数据,与每更新1行数据提交一次的性能对比,oracle的性能最高5.java向oracle,db2,sqlserver删除10000行数据后提交数据,与每删除1行数据提交一次的性能对比,oracle性能最少提高16倍、db2性能降低1.6倍,sqlserver性能最少提高1.6倍,如果批量处理与批量提交对比,oracle性能最少提高2.8倍,db2性能最少提高1.3倍,sqlserver性能最少提高1.2。
DB2和Oracle的区别
DB2和Oracle的区别DB2数据库的简介:DB2是IBM公司的产品,起源于System R和System R*。
他支持从PC到UNIX,从中小型机到大型机;从IBM到非IBM(HP及SUN UNIX系统等)各种操作平台。
他既可以在主机上以主/从方式独立运行,也可以在客户/服务器环境中运行。
其中服务平台可以是OS/400,AIX,OS/2,HP-UNIX,SUN-Solaris等操作系统,客户机平台可以是OS/2或Windows, Dos, AIX, HP-UX, SUN Solaris等操作系统。
数据库服务器DB2数据库核心又称作DB2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能。
DB2核心数据库的特色(1) 支持面向对象的编程DB2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。
可以建立用户数据类型和用户自定义函数。
(2) 支持多媒体应用程序DB2支持大二分对象(BLOB),允许在数据库中存取二进制大对象和文本大对象。
其中,二进制大对象可以用来存储多媒体对象。
(3) 备份和恢复能力(4) 支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则(5) 支持的硅SQL查询(6) 支持异构分布式数据库访问(7) 支持数据复制Oracle数据库的简介:Oracle Database,又名Oracle RDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
到目前仍在数据库市场上占有主要份额。
Oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。
不过,一般的中小型企业都比较喜欢用SQL数据库系统,它的操作很简单,功能也非常齐全。
只是比较oracle数据库而言,在处理大量数据方面有些不如。
MySQL和Oracle的区别
MySQL和Oracle的区别 由于SQL Server不常⽤,所以这⾥只针对MySQL数据库和Oracle数据库的区别(1) 对事务的提交MySQL默认是⾃动提交,⽽Oracle默认不⾃动提交,需要⽤户⼿动提交,需要在写commit;指令或者点击commit按钮(2) 分页查询MySQL是直接在SQL语句中写"select... from ...where...limit x, y",有limit就可以实现分页;⽽Oracle则是需要⽤到伪列ROWNUM和嵌套查询(3) 事务隔离级别MySQL是read commited的隔离级别,⽽Oracle是repeatable read的隔离级别,同时⼆者都⽀持serializable串⾏化事务隔离级别,可以实现最⾼级别的读⼀致性。
每个session提交后其他session才能看到提交的更改。
Oracle通过在undo表空间中构造多版本数据块来实现读⼀致性,每个session查询时,如果对应的数据块发⽣变化,Oracle会在undo表空间中为这个session构造它查询时的旧的数据块MySQL没有类似Oracle的构造多版本数据块的机制,只⽀持read commited的隔离级别。
⼀个session读取数据时,其他session不能更改数据,但可以在表最后插⼊数据。
session更新数据时,要加上排它锁,其他session⽆法访问数据(4) 对事务的⽀持MySQL在innodb存储引擎的⾏级锁的情况下才可⽀持事务,⽽Oracle则完全⽀持事务(5) 保存数据的持久性MySQL是在数据库更新或者重启,则会丢失数据,Oracle把提交的sql操作线写⼊了在线联机⽇志⽂件中,保持到了磁盘上,可以随时恢复(6) 并发性MySQL以表级锁为主,对资源锁定的粒度很⼤,如果⼀个session对⼀个表加锁时间过长,会让其他session⽆法更新此表中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE、SQLSERVER、MYSQL与DB2的比较- Oracle
开发
比较SQL Server与Oracle、DB2
出处:不祥
关键词:Sql Server, Oracle, 其他1.选择一个好的数据库是非常重要的。
2.如何选择一个好的数据库开放性: SQL Server
只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。
而且windows平台的可靠性,安全性和伸缩性是非常有限的。
它不象unix那样久经考验,尤其是在处理大数据量的关键业务时. Oracle
能在所有主流平台上运行(包括windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持。
DB2
能在所有主流平台上运行(包括windows)。
最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%. 可伸缩性,并行性
SQL server
DB2
并行实施和共存模型并不成熟。
很难处理日益增多的用户数和数据卷。
伸缩性有限。
Oracle
平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。
DB2
DB2具有很好的并行性。
DB2把数据库管理扩充到了并行的、多节点的环境.
数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日
志。
数据库分区有时被称为节点或数据库节点安全性
SQL server
没有获得任何安全证书。
Oracle Server
获得最高认证级别的ISO标准认证。
DB2
获得最高认证级别的ISO标准认证。
性能
SQL Server
多用户时性能不佳Oracle
性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。
DB2
适用于数据仓库和在线事物处理性能较高。
客户端支持及
应用模式
SQL Server
C/S结构,只支持windows客户,可以用
ADO,DAO,OLEDB,ODBC连接. Oracle
多层次网络计算,支持多种工业标准,可以用
ODBC,JDBC,OCI等网络客户连接DB2
跨平台,多层结构,支持ODBC,JDBC等客户操作简便SQL Server
操作简单,但只有图形界面. Oracle
较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同DB2
操作简单,同时提供GUI和命令行,在windowsNT和unix 下操作相同使用风险
SQL server
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。
并不十分兼容早期产品。
使用需要冒一定风险。
Oracle
长时间的开发经验,完全向下兼容。
得到广泛的应用。
完全没有风险。
DB2
在巨型企业得到广泛的应用,向下兼容性好。
风险小。