开发者社区


首页 - 数据库
数据库
全文搜索:   

了解DML:SQL Server 2005中的新OUTPUT特性
作者: Tim Chapman
2006-06-22 09:49:02



由于最近你的销售团队非常成功,顾客表增加了三倍,并被其它企业应用程序大量访问。即使这个表格有正确的索引,它也不是你在每一个应用程序要求的事务中希望读取的表格。

为减少不必要的数据库读取,应用OUTPUT子句增加记录到一个表格变量中。在步骤二和步骤三中,将你的表格与这个表格变量而非顾客表联结起来。应用这个技巧就可以节省大量的缓冲内存和输入/输出过程。

:微软并不推荐应用带巨大数据集的表格变量。如果你发现你的应用程序需要使用OUTPUT子句来获得大量的数据,使用一个临时的表格。临时表位于临时数据库中,并允许编写索引。

试验一下

在上面的例子中,我们检验了将应用OUTPUT语句在顾客表中插入的记录保存下来,并在后面的事务中应用这些数据的做法。运行列表A中的脚本来建立例子中需要的数据结构。

现在我们已建立了自己的数据结构,现在我们就能够试验一下OUTPUT语句的工作步骤。因为表格变量位于SQL Server 2005的内存中,且当执行过程完成后即被丢弃,所以你需要同时运行列表B中的脚本。

代码声明了一个表格变量,并将一个记录插入到顾客表中。除了插入语句外,我们还应用INSERTED表将一个新的记录值增加到我们的表格变量中。此时,你可以使用表格变量来替代应用程序步骤二步骤三中的顾客表。

反思时间

SQL Server 2005中的新OUTPUT特性给你许多设计应用程序的新启示。不需调用其它数据库就能访问被更改的数据的能力可帮助你优化你的应用程序。另外,你还能应用OUTPUT子句,在不使用DML触发器的情况下建立定制审核。

Tim Chapman是一名在肯塔基州路易斯维尔银行工作的SQL Server数据库管理员,拥有7年以上的IT工作经验。

责任编辑:张琎

查看本文的国际来源

【上一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号