10W potongan data yang tersedia, database akses disimpan
Dengan ekstraksi normal:
Salinan kode adalah sebagai berikut:
<%
SetConn = server.CreateObject ("adodb.connection")
c & server.mappath ("db2.mdb")
Conn.openconnstr
SetRs = server.CreateObject ("adodb.recordset")
SQL = "Pilih*FrompeopleOrderByIddesc"
rs.opensql, Conn, 1,1
Dowhilenotrs.eof
Response.writers ("id") & "|"
rs.movenext
Lingkaran
%>
http://www.cnbruce.com/test/getrows/show1.asp
Dibutuhkan 3.250.000 milidetik, dan nilai uji total rata -rata adalah sekitar 3 detik.
====================================================================================================
Gunakan prosedur tersimpan untuk mengekstrak:
Salinan kode adalah sebagai berikut:
<%
SetConn = server.CreateObject ("adodb.connection")
SetCmd = server.CreateObject ("adodb.command")
conn.open "penyedia = 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
Lingkaran
%>
http://www.cnbruce.com/test/getrows/show2.asp
Butuh 2.187,500 milidetik, dan nilai total uji rata -rata adalah sekitar 2 detik.
==================================================================================================
Dua di atas tidak dapat sepenuhnya menyelesaikan masalah waktu eksekusi yang lama. Alasan utamanya adalah bahwa loop harus mengekstrak catatan dari database setiap waktu (kecepatan perintah relatif cepat)
Lalu bagaimana dengan menggunakan metode getRows ():
Salinan kode adalah sebagai berikut:
<%
SetConn = server.CreateObject ("adodb.connection")
SetCmd = server.CreateObject ("adodb.command")
conn.open "penyedia = 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) & "|"
Berikutnya
%>
http://www.cnbruce.com/test/getrows/show3.asp
Butuh 187,500 milidetik, dan rata -rata uji total adalah sekitar 0,2 detik.
Metode getRows () adalah menyalin data dari Recordset ke array dua dimensi. Ini adalah array dua dimensi. Subskrip pertama menandai bidang dan yang kedua menandai nomor catatan.
Jadi rSarray = rs.getrows ()