|
发表于 2006-6-27 17:22:45
|
显示全部楼层
想学oracle了
<p>Oracle和SQL Server有很多的处理方式很相似的,毕竟都是大型的关系型数据库,异曲同工用在Oracle、Sybase、SQL Server、DB2、Informix上一点不为过。</p><p>如果你对SQL语言有兴趣,应该首先多练习标准SQL,这是所有大型DB都适用的。SQL Server和Sybase的系统procedure是很多的,sp_???什么的相信你用起来不陌生,直接可以使用,Sybase的sp_help最好用了。Oracle的function比较多,语法上比较复杂,当然也功能很强大,如nil。</p><p>至于index、procedure、trigger、DB link、View等东西,他们的主要功能都实现了,在扩展功能上会随版本的不同有所差异,据说SQL Server 2005就有个DDL Trigger。。。呵呵,功能很强。lock和conformance上数据库厂商实现的具体机制有很大不同,可以参见各自的manual,这也是DB之间性价差异的主要原因之一。</p><p>数据库的主要性能优化上各DB的差异比较大,SGA的优化是Oracle主要课题,TempDB的处理应该是Sybase和SQL Server优化的主导吧。共享池、簇、块的定义在不同的DB中的定义名称会有所差异,差异在寻址算法上,这个你用久了就会明白。“谁都想跟别的厂商不同,老外也一样!” 再者,UNIX下的Oracle和Win下的SQL Server是很不同的,OS的性能站了很大部分,多进程和多线程毕竟不是同一个起跑线。</p><p>Cluster、Mutiple Nodes、冗余、备份方面,各数据库就相差很大了,所用的机制大相径庭;不过日志恢复机制他们都是很“感冒”的。DB2在巨型数据库系统中的应用优势是无人能及的,医院用的DB不大,用DB2奢侈了点,优势也不明显。Oracle在这方面的扩展空间是很大的。还有很多的附加中间件可以选购,比如MQ等。</p><p>一不小心,絮絮叨叨罗嗦了这么多。也不一定就是标准答案。</p><p>大家不要扔鸡蛋呀。:)</p><p></p> |
|