新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > sql server教程 > 正文:解析:事务和批处理对应用程序性能的影响

解析:事务和批处理对应用程序性能的影响

新客网 XKER.COM 2007-10-23 来源: limeinan 收藏本文

适当使用 Transact-SQL 的主要目的是减少服务器与客户端之间传输的数据量。减少传输的数据量通常可缩短完成逻辑任务或事务所需的时间。长时间运行的事务对单个用户可能很好,但若扩展到多个用户则表现很差。为支持事务的一致性,数据库必须自最开始在事务内获取对共享资源的锁后,一直将该锁控制到事务提交为止。如果其他用户需要访问同一资源,则必须等待。随着个别事务变长,等待锁的队列和其他用户也变长,系统吞吐量随之减少。长事务还增加死锁的可能性,当两个或更多的用户同时等待互相控制的锁时会发生死锁。

·可用于缩短事务持续时间的技术包括:

在应用程序的要求内尽快提交事务更改。

应用程序常将大的批处理作业(如月底汇总计算)作为单个工作单元(因此是一个事务)执行。在多数这类应用程序中,可以提交作业的各步骤,而不危及数据库的一致性。尽快提交更改意味着尽快释放锁。

·利用 Microsoft® SQL Server™ 2000 语句批处理。

语句批处理是一种一次将多个 Transact-SQL 语句从客户端发送到 SQL Server 的方法,从而减少到服务器的网络往返次数。如果语句批处理包含多个 SELECT 语句,服务器将以单个数据流将多个结果集返回给客户端。

·对重复操作使用参数数组。

例如,开放式数据库连接 (ODBC) SQLParamOptions 函数允许将单个 Transact-SQL 语句的多个参数集以一个批处理形式发送到服务器,从而也可减少往返次数。

可以使用 SQL 事件探查器监视、筛选和捕获所有从客户端应用程序发送到 SQL Server 的调用。它通常可以揭示因对服务器的不必要调用而导致的意外应用程序开销。SQL 事件探查器还可以显示可将当前单独发送到服务器的语句放入批处理中的机会。 (责任编辑:卢兆林)

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐