oraclesqlservermysql与db2的比较 - oracle 开发
- 格式:doc
- 大小:13.53 KB
- 文档页数:3
数据库管理系统比较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适用于中小型企业应用,对性能和稳定性要求较高的场景。
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三者的区别目录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等多种操作系统下工作。
例子:如上图,从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。
一、开放性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间基本架构和管理的差异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、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
在巨型企业得到广泛的应用,向下兼容性好。
风险小。