sql: sybase 和 oracle 比较

1. sybase 和 oracle 比较 http://blog.itpub.net/14067/viewspace-1030014/

Oracle采用多线索多进程体系结构

Sybase采用单进程多线索体系结构

Oracle和Sybase都采用多线索。

采用多线索的模式,能用较少的线索管理大量的用户进程;并且,线索进程是动态可调整的,当用户数增加时, 线索进程也会阶段性地自动增加;当用户数减少时,线索进程也会自动减少。多线 索结构,大大降低了Oracle和Sybase对系统资源的占用,提高了系统资源的利用率。

  对于Oracle的体系结构,在集中式多用户环境下,每个用户单独占用一个服务器进程;在Client/Server 和Internet方式下可以采用多个用户共享进程,以多线索方式执行用户的请求。另外,针对特别级别的用户,可以单独占用一个 服务器进程,实现最优级别的用户请求。Oracle的服务器进程是用来同时处理 数据库请求的,它们从请求队列中拿出申请,进行语法分析、权限检查以及一系列的内部操作,并协调Oracle其他后台进程,以共同完成申请的处理,并把操 作结果返回到回答队列。Oracle多服务器进程结构,能实现数据库事务的并行 处理,提高并发事务处理的响应速度。并且多服务器结构具有非常灵活的扩充 性,当硬件平台处理能力提高时,服务器进程的个数也能随之增加,数据库性 能也随之提高。多服务器结构,避免了单服务器结构中很容易造成的服务器进 程瓶颈现象,也避免了因此而引起的单服务器进程死锁的现象。

  Sybase采用单进程多线索方式,用户请求都由一个进程来进 行总的调度和管理。在单服务器并采用单一的Client/Server模式下其对数据库的管理比较简单,内存资源占用较少,在并发用户数较少的情况下,其对系统资源的利用率比采用多进程方式要高;但同时,当并发用户数达到一定的数量时,会引起系统处理性能大大下降,和服务器进程瓶颈及死锁等现象;同时系统的可扩展余地非常狭窄。技术上不能提供对大型多处理器系统的支持,性能上有所限制。

虽然可以通过配置最大引擎个数,增加dataserver进程个数,但是最大不能超过cpu的个数。

处理的原理是

cpu是操作系统能够调动的资源,sybase本身不能让数据库在哪个cpu工作,
使用engine是几就会运行几个进程,
如果engine是1,sybase就只起1个进程,操作系统就不能将将其在两个cpu上运行
如果engine是2,sybase就起2个进程,

sybase 决定将任务分配哪个dataserver进程,操作系统可以让两个进程在两个cpu上运行。

如果该OS上主要就是跑sybase,起2个合适

不像oracle那样到用户级别来处理。

2.sybase与oracle存储过程的写法对比 http://blog.csdn.net/daniel112/article/details/2304288

在oracle中创建存储过程和sybase及sql server下的语法有些不一致之处。

原文地址:https://www.cnblogs.com/mylinux/p/4992186.html