10 Вт доступных данных, база данных Access сохраняется
Нормальным извлечением:
Кода -копия выглядит следующим образом:
<%
SetConn = server.createObject ("adodb.connection")
c & server.mappath ("db2.mdb")
Conn.openconstr
Setrs = server.createObject ("adodb.recordset")
sql = "select*frompeopleorderbyiddesc"
Rs.opensql, Conn, 1,1
Dowhilenotrs.eof
Response.writers ("id") & "|"
Rs.movenext
Петля
%>
http://www.cnbruce.com/test/getrows/show1.asp
Это занимает 3250 000 миллисекунд, а средняя общая тестовая стоимость составляет около 3 секунд.
=================================================================================
Используйте сохраненную процедуру для извлечения:
Кода -копия выглядит следующим образом:
<%
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 = "select*frompeopleorderbyiddesc"
Setrs = cmd.execute
Dowhilenotrs.eof
Response.writers ("id") & "|"
Rs.movenext
Петля
%>
http://www.cnbruce.com/test/getrows/show2.asp
Это заняло 2187,500 миллисекунд, а средняя общая тестовая стоимость составляла около 2 секунд.
=================================================================================
Вышеуказанные два не могут полностью решить проблему длительного времени выполнения. Основная причина заключается в том, что цикл должен каждый раз извлекать записи из базы данных (скорость команды относительно быстрая)
Тогда как насчет использования метода getRows ():
Кода -копия выглядит следующим образом:
<%
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 = "select*frompeopleorderbyiddesc"
Setrs = cmd.execute
rsarray = rs.getrows ()
Fori = 0toubound (rsarray, 2)
Response.writersarray (0, i) & "|"
Следующий
%>
http://www.cnbruce.com/test/getrows/show3.asp
Это заняло 187,500 миллисекунд, а общий средний тест составляет около 0,2 секунды.
Метод getRows () заключается в копировании данных из записей в двухмерный массив. Это двухмерный массив. Первый индекс отмечает поле, а второй отмечает номер записи.
Итак, rsarray = rs.getrows ()