安全性
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 在巨型企业得到广泛的应用,向下兼容性好。风险小。 仅供参考
1.Table space for indexes 的不同 Oralce:
Create TABLE T1 .............IN DATA_TA
Create Index ........ ON T1 ...... IN INDX_TS
DB2:
Create TABLE T1 ........ IN DATA_TS INDEX IN INDX_TS
Create INDEX .....ON T1
3.一些转换 Oracle:
Oracle 支持一些转换,比如:
Create table t1(c1 int);
Select * from t1 where c1='1'
Select 'abc'||2 from t1
DB2:
DB2不支持一些转换,比如:
Create table t1(c1 int);
Select * from t1 where c1=CAST('1' AS INT)
Select 'abc'||CHAR(2) from t1
4.函数的值做为表中的缺省值
Oracle:
Oracle 支持把函数的值做为表中的缺省值,比如:
Create table t1(C1 Number DEFAULT FN() NOT NULL,
C2 DATE DEFAULT NOT NULL SYSDATE
)
DB2:
DB2不支持把函数的值做为表中的缺省值,比如:
Create table t1(C1 INT NOT NULL,
C2 TIMESTAMP DEFAULT CURRENT TIMESTAMP
)
这个是不允许的