科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析:事务和批处理对应用程序性能的影响

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

适当使用 Transact-SQL 的主要目的是减少服务器与客户端之间传输的数据量。减少传输的数据量通常可缩短完成逻辑任务或事务所需的时间。

作者:赛迪网 limeinan 来源:天新网 2008年3月27日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

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

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

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

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

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

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

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

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

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章