Dados de 10W disponíveis, o banco de dados de acesso é salvo
Por extração normal:
A cópia do código é a seguinte:
<%
SetConn = server.createObject ("adodb.connection")
C & Server.Mappath ("DB2.MDB")
Conn.OPENCONNSTR
Setrs = server.createObject ("adodb.recordset")
SQL = "Selecione*FrompeopleDordeByIdDesc"
Rs.opensql, Conn, 1,1
Dowhilenotrs.eof
Response.Writers ("ID") & "|"
rs.movenext
Laço
%>
http://www.cnbruce.com/test/getrows/show1.asp
São necessários 3.250.000 milissegundos e o valor médio total do teste é de cerca de 3 segundos.
====================================================================================
Use procedimento armazenado para extrair:
A cópia do código é a seguinte:
<%
SetConn = server.createObject ("adodb.connection")
Setcmd = server.createObject ("adodb.command")
Conn.open "Provider = Microsoft.Jet.oledb.4.0; DataSource =" & Server.mappath ("DB2.MDB")
cmd.activeConnection = Conn
cmd.CommandText = "Selecione*FrompeopleDordebyiddesc"
Setrs = cmd.execute
Dowhilenotrs.eof
Response.Writers ("ID") & "|"
rs.movenext
Laço
%>
http://www.cnbruce.com/test/getrows/show2.asp
Foram necessários 2.187.500 milissegundos, e o valor médio total do teste foi de cerca de 2 segundos.
=================================================================================
Os dois acima não podem resolver completamente o problema do longo tempo de execução. O principal motivo é que o loop deve extrair registros do banco de dados todas as vezes (a velocidade de comando é relativamente rápida)
Então que tal usar o método getRows ():
A cópia do código é a seguinte:
<%
SetConn = server.createObject ("adodb.connection")
Setcmd = server.createObject ("adodb.command")
Conn.open "Provider = Microsoft.Jet.oledb.4.0; DataSource =" & Server.mappath ("DB2.MDB")
cmd.activeConnection = Conn
cmd.CommandText = "Selecione*FrompeopleDordebyiddesc"
Setrs = cmd.execute
rSarray = rs.getRows ()
Fori = 0Toubound (RSarray, 2)
Response.WritersRray (0, i) & "|"
Próximo
%>
http://www.cnbruce.com/test/getrows/show3.asp
Foram necessários 187.500 milissegundos e a média total de teste é de cerca de 0,2 segundos.
O método getRows () é copiar os dados do registro para uma matriz bidimensional. Esta é uma matriz bidimensional. O primeiro subscrito marca o campo e o segundo marca o número do registro.
Então rSarray = rs.getRows ()