最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
提高ASP性能的最佳选择(续四)
时间:2022-07-02 23:46:20 编辑:袖梨 来源:一聚教程网
(作者:青苹果工作室编译 )
规则的总结
现在我们来重新总结一下这些规则:
* 避免包含ADOVBS.inc文件,用其它方法来使用常量。
* 当使用一个单个记录集时,将连接字符串传递到ActiveConnection属性中。
* 在一个页面上使用多个记录集时,创建一个Connection 对象,在ActiveConnection 属性中重复使用它。
* 使用最适合你的任务的最简单的指针和锁的类型。
* 通过ADODB.Recordset 类例示记录集以获得最好的性能和最大的灵活性。
* 除非是一个断开的环境中所要求的,避免使用断开的记录集。
* 不要对单独设置记录集属性感到担心。
* 当记录集中的值不需要用一种特殊方式来对待并且能够格式化为一种统一的格式时,使用GetString方法来提取数据。
* 当你在设计上需要更大的灵活性,但是又不需要用记录集的元数据进行工作,使用GetRows方法将数据提取到一个数组中。
* 当你需要设计的灵活性和元数据时,在进入一个数据恢复的循环之前,将你的域约束在本地变量中。避免用名字引用域。
* 不要用临时字符串来收集输出。
结论
同样,从这些测试中我们所学到的最重要的一点是:小小的变化会在性能上造成很大的影响。如果我们把第一个测试与ADO__09.asp(在记录集中循环的最快结果)相比,可以看到在反应时间上至少减少了50%。
如果我们把第一个测试与所有测试中最快的情况,即使用GetString 的方法相比较,就会发现反应时间只是原始值的很小一部分。
所以要记住,永远不要想当然。如果你不能肯定,那就运行一些有针对性的测试。
规则的总结
现在我们来重新总结一下这些规则:
* 避免包含ADOVBS.inc文件,用其它方法来使用常量。
* 当使用一个单个记录集时,将连接字符串传递到ActiveConnection属性中。
* 在一个页面上使用多个记录集时,创建一个Connection 对象,在ActiveConnection 属性中重复使用它。
* 使用最适合你的任务的最简单的指针和锁的类型。
* 通过ADODB.Recordset 类例示记录集以获得最好的性能和最大的灵活性。
* 除非是一个断开的环境中所要求的,避免使用断开的记录集。
* 不要对单独设置记录集属性感到担心。
* 当记录集中的值不需要用一种特殊方式来对待并且能够格式化为一种统一的格式时,使用GetString方法来提取数据。
* 当你在设计上需要更大的灵活性,但是又不需要用记录集的元数据进行工作,使用GetRows方法将数据提取到一个数组中。
* 当你需要设计的灵活性和元数据时,在进入一个数据恢复的循环之前,将你的域约束在本地变量中。避免用名字引用域。
* 不要用临时字符串来收集输出。
结论
同样,从这些测试中我们所学到的最重要的一点是:小小的变化会在性能上造成很大的影响。如果我们把第一个测试与ADO__09.asp(在记录集中循环的最快结果)相比,可以看到在反应时间上至少减少了50%。
如果我们把第一个测试与所有测试中最快的情况,即使用GetString 的方法相比较,就会发现反应时间只是原始值的很小一部分。
所以要记住,永远不要想当然。如果你不能肯定,那就运行一些有针对性的测试。