七、最好用哪种方法提取记录集?
到目前为止我们一直通过创建recordset对象提取记录集,但是ado也提供了间接的记录集提取方法。下面的测试比较ado__03.asp和直接从connection对象创建记录集(conn_01.asp)这两种方法:
set objconn = server.createobject("adodb.connection")
objconn.open application("conn")
set objrs = objconn.execute(application("sql"))
可以看到页面开销略有增加,单个记录的显示时间没有变化。
下面我们再来看看从command对象直接创建记录集对象(cmd__02.asp):
set objcmd = server.createobject("adodb.command")
objcmd.activeconnection = application("conn")
objcmd.commandtext = application("sql")
set objrs = objcmd.execute
同样,页面开销也略有增加,而单个记录的显示时间没有本质的变化。后面这两种方法在性能上的差异很小,但我们还有一个重要的问题需要考虑。
通过recordset类创建记录集时,我们能够以最大的灵活性控制记录集的处理方式。既然后面两种方法未能有压倒性的性能表现,我们主要还是考虑默认返回的游标类型和记录锁定方式,对于某些场合来说默认值并不一定是最理想的。
因此,除非由于特殊的原因需要选择后面两种方法,否则我们建议考虑下面的规则:
通过adodb.recordset类实例化记录集,以获得最好的性能和灵活性。
