asp性能测试第二部分(转)(十二)
十二、总结下面是我们在这第二部分中得到的规则:
避免包含ADOVBS.inc文件,通过其他方法访问和使用ADO常量。
如果只使用一个记录集,直接把连接串赋给ActiveConnection属性。
同一页面内用到多个记录集时,创建单一的连接对象并通过ActiveConnection属性共享它。
使用适合于处理任务的最简单的游标类型和记录锁定方式。
通过ADODB.Recordset类实例化记录集,以获得最好的性能和灵活性。
不必在乎是否单独地设置Recordset的属性。
除非确实要求记录集本地化,否则应避免使用本地记录集。
如果记录集中的数据不需要分别操作而且可以用一致的方式格式化,使用GetString方法提取数据。
如果要求有更灵活的格式,但不需要用到记录集的元数据,使用GetRows将数据提取到数组。
如果要求有更灵活的格式,同时要用到记录集的元数据,在进入数据提取循环之前将字段绑定到变量。
始终避免通过名字引用字段。
不要使用临时字符串收集输出。
第二部分的测试再一次显示,代码的小小改动可能导致巨大的性能差异。比较第一个测试和循环访问记录集最快的ADO__09.asp,可以看到响应时间全面缩短了50% 。
比较第一次测试和使用GetString这个综合性能最好的实现,可以看到应答时间降低到了原来的一小部分。
因此务必记住,永远不要想当然。如果不能确定自己的做法是否合适,不妨测试几个例子。
补充:asp教程,技巧与性能优化