利用可能な10Wのデータ、アクセスデータベースが保存されます
通常の抽出による:
コードコピーは次のとおりです。
<%
setConn = server.createObject( "adodb.connection")
c&server.mappath( "db2.mdb")
conn.openconnstr
setrs = server.createObject( "adodb.recordset")
sql = "select*frompeopleorderbyiddesc"
rs.opensql、conn、1,1
dowhileenotrs.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 "provider = microsoft.jet.oledb.4.0; dataSource ="&server.mappath( "db2.mdb")
cmd.activeconnection = conn
cmd.commandtext = "select*frompeopleOrderByIddesc"
setrs = cmd.execute
dowhileenotrs.eof
Response.Writers( "id")& "|"
rs.movenext
ループ
%>
http://www.cnbruce.com/test/getrows/show2.asp
2,187.500ミリ秒かかり、平均合計テスト値は約2秒でした。
=====================================================================================================
上記の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)
Respons.writerSarray(0、i)& "|"
次
%>
http://www.cnbruce.com/test/getrows/show3.asp
187.500ミリ秒かかり、合計テスト平均は約0.2秒です。
getRows()メソッドは、レコードセットからデータを2次元配列にコピーすることです。これは2次元配列です。最初の添え字はフィールドをマークし、2番目はレコード番号をマークします。
so rsarray = rs.getRows()