提高ASP性能的最佳选择(续四) |
规则的总结
现在我们来重新总结一下这些规则:
* 避免包含ADOVBS.inc文件,用其它方法来使用常量。
* 当使用一个单个记录集时,将连接字符串传递到ActiveConnection属性中。
* 在一个页面上使用多个记录集时,创建一个Connection 对象,在ActiveConnection 属性中重复使用它。
* 使用…… |
|
提高ASP性能的最佳选择(续三) |
引用记录集中域值的最有效方法是什么?
到目前为止,我都是用名字引用记录集中的域值的。这可能是一种效率很低的方法,因为每次调用都需要查找域。为了证明这一点,下面的测试就要通过记录集中域的集合的指针来引用域(ADO__08.asp):
'write data
Do While Not objRS.EOF
Response.Write( _
…… |
|
提高ASP性能的最佳选择(续二) |
当使用一个记录集时,是否应该创建一个单独的Connection对象?
要想正确回答这个问题,需要在两个不同情况下检验测试结果:第一是每页执行一个数据库处理的情况,第二是每页执行多个数据库处理的情况。
在前面的例子中,我们已经创建了一个单独的Connection对象,并将它传递到记录集的ActiveConnection 属性。…… |
|
提高ASP性能的最佳选择(续一) |
在本文的第一部分中,我回顾了有关ASP开发的一些基本问题,介绍了一些性能测试的结果,以理解我们放置在页面中的代码可能对运行性能造成什么样的影响。在这个系列的第二部分,我们将探讨经过论证的ASP最广泛的用途,即通过ActiveX 数据对象(ADO)交互使用数据库内容。ADO是Microsoft通用并简单的数据库界面。
AD…… |
|
提高ASP性能的最佳选择(三) |
结论
本文第一部分的重要之处在于许多小事情的累积。为了强调这个问题,我设置了最后一个测试,在其中进行了我们以前曾经测试过的看来无所谓但实际上有坏影响的所有操作。我包含了许多Response.Write 声明、关闭了缓冲器、设置了默认语言、去掉了Option Explicit 引用并初始化了错误句柄。
< %@ LANGUAGE=…… |
|
提高ASP性能的最佳选择(二) |
是否应该开启缓冲器?
通过脚本程序启动缓冲器
在ASP脚本的顶部包含Response.Buffer=True ,IIS就会将页面的内容缓存。
< % OPTION EXPLICIT
Response.Buffer = true
Dim FirstName
…
/app1/buffer__1.asp的片段
以前的最佳(反应时间)= 7.05 msec/pag…… |
|
提高ASP性能的最佳选择(一) |
ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力。幸运地是,有许多书籍和站点在这方面提供了很好的建议。但是这些建议的基础都是从ASP平台工作的结构上所得出的结论,对实际获得的性能的提高没有量的测量。由于这些建议需要更加复杂的编码过程并降低了编码的可读性,开发人员就只能在看不到实际…… |
|
如何提高WEB程序的效率 (第一篇 |
很多网友非常不喜欢用ASP来编程,他们总是抱怨说ASP程序太慢,效率太低。更希望用PHP,JSP等来写程序。其实不能从 "认为" 这个角度来看问题 ,而应该从实际中看问题,ASP真的很慢的吗,那么微软的站为何用ASP也不慢呢?PHP真的很快吗,其实它也仍然是解释性的语言。只不过在Linux下的结合比较好而以。JSP的开发也不会简…… |
|
ASP提速技巧 |
技巧之一:提高使用Request集合的效率
访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问
一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。
例如将代码写成下面的形式以加快脚本引擎处理速…… |
|
什么才是提高ASP性能的最佳选择(续四) |
规则的总结
现在我们来重新总结一下这些规则:
* 避免包含ADOVBS.inc文件,用其它方法来使用常量。
* 当使用一个单个记录集时,将连接字符串传递到ActiveConnection属性中。
* 在一个页面上使用多个记录集时,创建一个Connection 对象,在ActiveConnection 属性中重复使用它。
* 使…… |
|
什么才是提高ASP性能的最佳选择(续三) |
引用记录集中域值的最有效方法是什么?
到目前为止,我都是用名字引用记录集中的域值的。这可能是一种效率很低的方法,因为每次调用都需要查找域。为了证明这一点,下面的测试就要通过记录集中域的集合的指针来引用域(ADO__08.asp):
'write data
Do While Not objRS.EOF
Response.Write( _
"&…… |
|
什么才是提高ASP性能的最佳选择(续二) |
当使用一个记录集时,是否应该创建一个单独的Connection对象?
要想正确回答这个问题,需要在两个不同情况下检验测试结果:第一是每页执行一个数据库处理的情况,第二是每页执行多个数据库处理的情况。
在前面的例子中,我们已经创建了一个单独的Connection对象,并将它传递到记录集的ActiveConnection 属性…… |
|
什么才是提高ASP性能的最佳选择(续一) |
在本文的第一部分中,我回顾了有关ASP开发的一些基本问题,介绍了一些性能测试的结果,以理解我们放置在页面中的代码可能对运行性能造成什么样的影响。在这个系列的第二部分,我们将探讨经过论证的ASP最广泛的用途,即通过ActiveX 数据对象(ADO)交互使用数据库内容。ADO是Microsoft通用并简单的数据库界面。
AD…… |
|
什么才是提高ASP性能的最佳选择(三) |
结论
本文第一部分的重要之处在于许多小事情的累积。为了强调这个问题,我设置了最后一个测试,在其中进行了我们以前曾经测试过的看来无所谓但实际上有坏影响的所有操作。我包含了许多Response.Write 声明、关闭了缓冲器、设置了默认语言、去掉了Option Explicit 引用并初始化了错误句柄。
< %@ LANGUAG…… |
|
什么才是提高ASP性能的最佳选择(二) |
是否应该开启缓冲器?
通过脚本程序启动缓冲器
在ASP脚本的顶部包含Response.Buffer=True ,IIS就会将页面的内容缓存。
< % OPTION EXPLICIT
Response.Buffer = true
Dim FirstName
…
/app1/buffer__1.asp的片段
以前的最佳(反应时间)= 7.05 msec/page
…… |
|
什么才是提高ASP性能的最佳选择(一) |
ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力。幸运地是,有许多书籍和站点在这方面提供了很好的建议。但是这些建议的基础都是从ASP平台工作的结构上所得出的结论,对实际获得的性能的提高没有量的测量。由于这些建议需要更加复杂的编码过程并降低了编码的可读性,开发人员就只能在看不到实际…… |
|
让你的SQL运行得更快 |
---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的
性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明
显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可…… |
|
避免asp的SQL的执行效率低 |
方法一、尽量使用复杂的SQL来代替简单的一堆 SQL.
同样的事务,一个复杂的SQL完成的效率高于一堆简单SQL完成的效率。有多个查询时,要善于使用JOIN。
oRs=oConn.Execute("SELECT * FROM Books")
while not oRs.Eof
strSQL = "SELECT * FROM Authors WHERE AuthorID="&oRs("AuthorID") oRs2=oConn.Execute(strSQL)
…… |
|
编程优化杂谈(一) |
1. 在SQL中, 如果选择某字段不为空的记录有两种写法
where columnExample <> ''
或者是
where columnExample is not null
经测试, 后者比前者要快好几倍(columnExample经过索引)
2. 在ASP中, 使用GetRows与不使用GetRows而直接用Record来循环调用, 两者其实有所差别, 下面是测试
调用记录数…… |
|
一次关于ASP变量和对像关闭与不关闭的差别测试 |
对于ASP程序,用到的变量有全局变量,以及一些建立的对象。良好的ASP程序员都有释放它们的习惯,但释放与不释
放之间到底有多少差别呢?所以今天特地对它们进行了一翻测试。
测试内容:测试的全局变量有一个,对象是采用连接SQL的connection对象。
第一次测试:不释放全局变量而结束程序执行。
第二次…… |
|
[1][2] › » 20条/页 共21条 |