WEB开发网
开发学院数据库Oracle Oracle基于Client/Server的性能调整 阅读

Oracle基于Client/Server的性能调整

 2007-05-12 12:26:33 来源:WEB开发网   
核心提示: 2.1 使用Oracle数据库的完整约束性当为应用建表时,应当为一些有特殊要求的数据加上适当的完整性约束,Oracle基于Client/Server的性能调整(6),这样就能实现由数据库本身而不是应用程序来约束数据符合一定的条件,数据库服务器端的完整约束的执行操作是在比SQL语句级别更低的

2.1 使用Oracle数据库的完整约束性

当为应用建表时,应当为一些有特殊要求的数据加上适当的完整性约束,这样就能实现由数据库本身而不是应用程序来约束数据符合一定的条件。数据库服务器端的完整约束的执行操作是在比SQL语句级别更低的系统机制上优化,它与客户端无关,只在服务器中运行,不需在Client 端和Server端之间传递SQL语句,有效地减轻网络I/O负担。

2.2 使用数据库触发器

完整约束性只能实现一些较简单的数据约束条件,对一些较复杂的事物处理规则就无能为力,这时最好不要在应用程序中实施复杂的程序控制,而是应当采用数据库触发器来实施复杂的事物规则。数据库触发器能实现由数据库本身,而不是应用程序,来约束数据符合复杂的事物处理规则,并且容易创建,便于管理,避免大量的网络I/O。

例如:将当前表A中成为历史的记录从A表中转储到历史表B中,表示为Lsbs。

在应用程序中实现:       用数据库触发器实现:
 Beign              Create trigger delete1
 Update A set lsbs='T';      After update of lsbs on A
 Insert into B          For each row
 Select * from A where lsbs='T'; Insert into B
 Delete A where lsbs='T';     select * from A where :new.lsbs='T';
 End;               Delete A where :new.lsbs='T';
                  End delete1;

在应用程序中实现时,所有的SQL命令请求传送的数据都要通过网络在Client端和Server端进行交换,而不像数据库触发器一样,SQL本身在Server端,不需要通过网络传输数据。当进行操作的数据量相当大时,并且多个用户同时操作时,通过在应用程序中实现复杂的控制,必将增大网络I/O的负荷,使整个系统的性能降低,而用数据库触发器能完全避免这种情况发生。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oracle 基于 Client

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接