사용 가능한 10W 데이터, 액세스 데이터베이스가 저장됩니다.
정상 추출에 의해 :
코드 사본은 다음과 같습니다.
<%
setconn = server.createobject ( "adodb.connection")
C & Server.mappath ( "DB2.MDB")
conn.openconnstr
setrs = server.createobject ( "adodb.recordset")
SQL = "선택*FromPeopleOrderByIddesc"
Rs.Opensql, Conn, 1,1
dowhilenotrs.eof
Response.writers ( "ID") & "|"
rs.movenext
고리
%>
http://www.cnbruce.com/test/getrows/show1.asp
3,250.000 밀리 초가 소요되며 평균 총 테스트 값은 약 3 초입니다.
======================================================================================
저장 절차를 사용하여 추출하십시오.
코드 사본은 다음과 같습니다.
<%
setconn = server.createobject ( "adodb.connection")
setcmd = server.createobject ( "adodb.command")
conn.open "공급자 = microsoft.jet.oledb.4.0; dataSource ="& server.mappath ( "db2.mdb")
cmd.activeconnection = conn
cmd.commandText = "선택*FromPeopleOrderByIddesc"
setrs = cmd.execute
dowhilenotrs.eof
Response.writers ( "ID") & "|"
rs.movenext
고리
%>
http://www.cnbruce.com/test/getrows/show2.asp
2,187.500 밀리 초가 걸렸으며 평균 총 테스트 값은 약 2 초였습니다.
===========================================================================================
위의 두 가지는 긴 실행 시간의 문제를 완전히 해결할 수 없습니다. 주된 이유는 루프가 매번 데이터베이스에서 레코드를 추출해야하기 때문입니다 (명령 속도는 비교적 빠릅니다).
그런 다음 getRows () 메소드를 사용하는 것은 어떻습니까 :
코드 사본은 다음과 같습니다.
<%
setconn = server.createobject ( "adodb.connection")
setcmd = server.createobject ( "adodb.command")
conn.open "공급자 = microsoft.jet.oledb.4.0; dataSource ="& server.mappath ( "db2.mdb")
cmd.activeconnection = conn
cmd.commandText = "선택*FromPeopleOrderByIddesc"
setrs = cmd.execute
rsarray = rs.getrows ()
fori = 0toubound (rsarray, 2)
응답 .writerArray (0, i) & "|"
다음
%>
http://www.cnbruce.com/test/getrows/show3.asp
187.500 밀리 초가 걸렸으며 총 테스트 평균은 약 0.2 초입니다.
getRows () 메소드는 레코드 세트의 데이터를 2 차원 배열로 복사하는 것입니다. 이것은 2 차원 배열입니다. 첫 번째 첨자는 필드를 표시하고 두 번째 첨자는 레코드 번호를 표시합니다.
그래서 rsarray = rs.getrows ()