实践ADO技术的相关技巧和措施

开发 后端
ADO技术包括启动连接操作等相关介绍,不等待连接完成就把控制权返回给应用程序——这样,应用程序就能够接着执行大部份初始化操作

对于ADO技术的讲述数据绑定技术则能够把TextBox组件"改造"成DbTextBox组件,把Label组件"改造"成DbLabel组件等等。所有这些都与DataSet有直接关系,但并没有怎么用。所以有一个星期的时间基本是在用实践着ADO技术,不知道ADO技术,会不会有点郁闷。

“性能”这一术语有着几种不同的、差异微妙的含义。当人们谈到某个东西性能多少好时,他们想要表达的意思可能就是在一定的时间之内它完成了多少工作。例如,一个性能好的发动机运行起来更稳定,产生的动力更强大。对于开发小组,你同样也可能应用这个判断标准:一个性能好的开发小组工作时比较安静,而且能够生产出大量高质量的代码。对我来说。

性能至少意味着两件事情——我的代码运行起来有多好,我的开发小组和我本人工作效率怎么样。无论哪一方面,本文介绍的技巧都将起到一定的帮助作用:帮助你更快地编写代码,帮助你编写更快的代码——安静地完成这一切,减少这样那样的错误。本文介绍的技巧主要面向ADO,特别是如何通过ADO访问SQL Server。但与此同时,我还将涉及一些适用范围更广的COM技巧,它们适用于你所编写的所有Visual Basic代码。

为了了解从哪些ADO技术数据访问代码编写技术、哪些体系、哪些开发习惯可以得到最好的性能,我已经花了不少时间。ADO技术一些情况下,对于应用的整体性能来说,单一的技术意义很小,除非我们通过循环将性能的改善程度成倍放大。

例如,在一个客户机/服务器应用中,当我们不是通过指定ODBC数据源(DSN)的方式连接数据库时,大约能够节省一到二秒的时间。对于应用整体的适用性或性能来说,这部分节省的时间所产生的影响很小。但是,如果我们在一个中间层组件上应用这种技术,这个组件每分钟(或每小时,每天)都要建立和关闭数据库连接数百(甚至数千)次,那么,这种技术将显著地影响系统的性能表现。因此,对于我在这里讨论的每一种技术,请务必考虑这个倍数因子——即,在一定的时间周期内,你的系统将执行同一段代码多少次。#t#

当你开始寻求改进性能的方案时,请考虑一下你的应用(组件,或者是ASP代码)大部份的等待和处理时间花在什么地方。ADO技术如果你发现应用程序把大量的时间花在等待Open或Execute方法执行完成,那么,你应该认真地检查一下服务器端的查询策略。

包括ADO技术在内,所有的数据访问接口等待查询结果的时间都相同。例如,ADO技术如果你有一个查询,SQL Server需要20秒才能完成它,不论用来执行该查询的是什么接口,没有一种接口能够比其他接口以更快的速度返回结果。虽然有些接口打开连接的速度比较快,有些接口处理结果集的速度比较快,但没有一种接口能够影响数据库引擎编译和执行查询的速度。因此,如果你的查询具有太高的“挑战性”——例如你没有对索引进行优化,你没有使用存储过程。

服务器负载过重,或者你要求返回的记录数量太多——那么,世界上没有一种ADO技术能够帮助你提高性能。除非你解决了这些基本的查询问题,否则没有一种性能调整技术能够显著地改善整体性能。SQL Server的Query Analyzer是一个分析查询性能的优秀工具。它能够用图形的方式显示查询的执行过程,并对改进性能的方法提出建议。

如果你能够确信查询具有较高的效率,那么,你可以使用本文介绍的技术进一步调整ADO代码的性能。这里介绍的技巧将从各个方面帮助你简化和改进ADO编程,包括:建立和维护连接,构造和提交执行速度更快的查询,提高处理查询结果的效率,等等。

责任编辑:chenqingxiang 来源: NET130
相关推荐

2009-12-24 16:40:59

Ado Connect

2009-12-25 10:51:45

使用ADO

2009-12-22 09:50:23

ADO.NET学习

2009-12-24 09:26:01

ADO.Net Tea

2009-12-29 16:56:40

ADO.NET类和接口

2009-12-28 15:46:22

ADO.NET操作

2009-12-21 13:59:03

ADO.NET特性

2009-12-25 16:26:03

ADO.NET控制

2009-12-24 13:38:07

ADO.NET技术

2009-12-31 11:11:42

ADO.NET组件

2009-12-24 14:45:32

ADO.NET程序

2009-12-31 14:23:33

ADO.NET数据源

2009-12-24 15:04:40

ADO管理

2009-12-28 13:38:13

ADO Error

2009-12-23 09:26:56

ADO.NET属性

2009-11-24 16:40:13

VS2005软件

2009-08-13 11:22:59

LINQ和ADO.NE

2009-12-22 15:03:51

ADO.NET使用

2009-07-06 10:43:51

ADO.NET

2009-12-28 13:23:38

ADO Records
点赞
收藏

51CTO技术栈公众号