oracle与sql的对比
1 ORACLE支持基于数据对象的INSERT,UPDATE,DELETE的触发器外,还支持系统级的触发器。如logon,instance startup等。还有oracle有行触发的概念,而这是SQLServer没有的。
2 ORACLE在配置上支持MTS的结构,就是可以有数据库连接池的概念。而sql server就没有。
3 ORACLE的网络配置,用同一个LISTENER来集中管理连接的请求,还可以做到多个LISTENER的FAILOVER配置。
4 ORACLE中有同义词的概念,我觉得非常方便,而sql server怎么办呢,sql server逻辑上是iinstance/database/table的概念。如果,我只能用[database].[user].[table]来访问表。
5 oracle可以对实例运行的不同配置,修改内存的分配策略。sql server的设置项简单地就不用设了(没什么好设的)。
6 oracle可以支持每个表的存储参数,让你调整每个表的存储空间的增长。sql server没有,也许microsoft认为没有必要。
1 SQL Server有Link Server的概念,而且可以是异种库,oracle尽管有database link的概念,但是必须是oracle,这一点还是Microsoft考虑的周全。
2 SQL Server的DTS包在实际应用中,相当的有用;oracle没有。
3 SQL Server 2000用索引视图来对抗oracle的partition的概念,还算过的过去。
4 SQL Server到了2000才支持多实例,算是可以和oracle在的多实例一样吧。
5 SQL Server有扩展存储过程可以调用AcitveX空件,Oracle 8i开始可以调用Java类,大家算打个平手吧。
6 SQL Server的日志文件并不重要,因为只要mdf在,只要sp_attach_single_file_db,可以重建日志文件,oracle要是丢了online redolog,那可就麻烦了,慢慢地恢复吧。
7 SQL Server可以支持级联的触发器(最多32级),而且可以修改触发的自身表,oracle就瞪着报错吧。
8 在oracle中可以写1局非常复杂SQL语句(符合标准SQL),在SQL Server中,会报"结构过于复杂",Microsoft还真能找个台阶下。看来SQL Server的SQL Parser器还要好好整修一下。
1 SQL Server是便宜,因为它更本不值那么高的价格。
2 SQL Server的许可是按服务许可+客户端许可和cpu许可两种的概念来算,你的客户端数目上去了,对不起,掏钱。当你觉得不合算,怎么办,改成cpu(Unlimited)吧,Microsoft会退钱么?而且,别忘了,SQL server是装在NT/2000 Server上的,你SQL Server按CPU买,你的Win2K得按Unlimited买,你就傻眼吧。
3 Oracle的计算很简单,把你的服务器CPU(Interl芯片还是RISC芯片)赫兹数和个数报出来,套个公式一算,就可以知道要买多少个license数。而且,你可以和oracle谈价钱的,以前我参与的一个项目,就最终和oracle谈好了买500个并发license数。就好了。Microsoft会和你谈么。别天真地认为Microsoft便宜,因为中国很多的企业都是在盗版(或者偷用License),还有,就Microsoft查的最厉害,给他差到,飞让你给个几十万才了,那是你就傻眼吧。
4 Oracle 有Linux的,找个公司会做维护的谈个价铬,不知道比SQL server便宜多少。Microsoft有么,它最反对Open Source。