易截截图软件、单文件、免安装、纯绿色、仅160KB

MS SQL Server 、Sybase、 Oracle支持锁定方案的不同

还是几位读我的书 (《Oracle大型数据库系统在AIX UNIX上的实战详解》) 的读者来邮件咨询问题,很抱歉我不能逐位回复邮件,第一我真的挺忙,第二这些问题颇有共性。我来借助这个地方,统一地和诸位探讨,很多问题我也是在摸索中,不能直接给大家答案,呵呵,大家见谅啊!

说说锁问题。 MS SQL支持的锁类型和Oracle差异是很大的!
Oracle支持的锁定方案为行锁,一种称为“精细的”锁模型。在该模型下,一个数据库用户的读操作不会妨碍其他并发用户针对该数据的更新类型操作,正在更新的数据行也可以被其他并发用户读取,如果发生了并行的、在同样数据上的更新行为,则Oracle的锁机制会即刻生效,以防止数据的脏读和数据覆盖。
Oracle的行锁方案为整体数据库提供了较高的并发性能,同时也维护了数据库数据的原子性和一致性,在如图所示的两个用户并发进程——它们同时完成了各自的操作,却没有互相产生干扰。

图 Oracle的行锁方案及其效果
在MS SQL Server / Sybase ASE系统中,锁定方案是可以指定的,每个表都可以拥有自己的锁模式,可以有如下的锁定方案:
所有页:索引页和数据页都被锁定
数据页:锁定数据页
数据行:仅锁定数据行
在MS SQL Server中,还可以启用基于行版本控制的隔离级别,应用可以指定事务使用行版本查看事务或查询开始时存在的数据,而不使用锁保护所有读取。通过使用行版本控制,读取操作会很少阻止其他事务的进行。
在Sybase中, 默认的锁定方案是所有页——数据更新中同时锁定数据对应的数据页和索引对应的索引页,也可以采用DOL表——在数据更新中仅锁定数据页,或者Row Locking锁定方案,仅锁定数据行即可。Sybase允许更改表的锁定方案,如图16-14所示,可以修改锁定方案为所有页、数据页或数据行。

所以,MS SQL Server、Sybase、Oracle真的是各有不同,各有千秋,程序要是移植,需要做的工作许多…
文平


相关文档:

Oracle EBS 如何月结之应付(AP)对账详解

应付模块的多数业务基于采购和库存的操作,因此应付模块的月结应该在采购模块和库存模块月结后才能关闭会计期。
月结步骤
在每个会计期末,应付模块的月结应遵循以下流程:
1.检查业务是否全部录入;
2.检查是否有未验证、暂挂发票;
3.更新到期的远期付款状态;
4.检查应付业务是否生成分录;
5.应付业务传送到总帐;
6 ......

如何在两台不同的机器上安装配置ArcSDE (oracle)

使用sdeupgradeora9i应用程序升级后,再按照一般的post方法post,在填写net service name时,使用oracle客户端的 net manager 配置一个另一台oracle数据库的service name;其余按照 一般方法进行,Post完成后,修改$sdehome/dbinit.sde
 set ORACLE_SID = ORCL;为
set LOCLA=service name;
启动服务即可。 ......

执行带嵌入参数的sql——sp_executesql

通常执行sql语句,大家用的都是exec,exec功能强大,但不支持嵌入参数,sp_executesql解决了这个问题。抄一段sqlserver帮助:
sp_executesql
执行可以多次重用或动态生成的 Transact-SQL 语句或批处理。Transact-SQL 语句或批处理可以包含嵌入参数。
语法
sp_executesql
[@stmt
=
] stmt
[
   &n ......

[zz]十种开源的sql客户端

SQL客户端是每个开发人员所需的必不可少的工具。他们帮助开发人员轻松地在任何数据库执行SQL查询。它们对于解决任何数据库相关的问题也是非常重要的。
        1. SQuirreL SQL Client
        SQuirreL SQL Client是目前最流行的开源SQL客户端。 ......

通过分析SQL语句的执行计划优化SQL语句(一)


在数据库的日常维护中,调整个别性能较差的SQL语句是一项极富挑战性的工作。其中的关键在于如何得到SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。总是想将日常经验的点点滴滴总结一下,但是直到最近才下定决心,总共花了3个周末时间,才将其整理成册,便于自己日常工作。现在将其发表出来希望能与更多的朋友分 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号