ASP的NextRecordset和GetRows方法

來源:互聯網
上載者:User

NextRecordset和GetRows是RecordSet的兩個屬性對提高批量查詢速度很有效果,大家可能用的很少,分享一下這兩個方法的用法:

GetRows方法:將RecordSet記錄集提取到一個二維數組中,我們對RecordSet資料的行為就轉移到該數組,可以早早的斷開紀錄集,不用再使用來源資料操作,rs.movnext, while not rs.eof等可以省掉。

NextRecordset方法:一次提交多個查詢,形成多個RecordSet結果集的情況下,提供一個離開當前工作的RecordSet,轉移到下一個RecordSet的方法。主要是用在多個select形成的結果集的情況。樣本如下:

查詢記錄

set rs=conn.execute(“select Ca1,Ca2,Ca3,Ca4 from TableA select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB”)

‘執行後將產生兩個select的結果集,當前第一個select的RecordSet處於啟用狀態。

arrA=rs.GetRows’取得第一個查詢結果的二維數組

set rs=rs.NextRecordset‘啟用下一個RecordSet

arrB=rs.GetRows’取得第二個查詢結果的二維數組

set rs=nothing‘釋放資料庫物件

這樣,我們所有關於資料庫的資料提取完成,用最早的時間釋放資料庫資源。

注意,GetRows方法得到的數組,第一維代表列,第二維代表行。

For i=0 to UBound(arrA,2)

response.write(“<tr>”)

response.write(“<td>欄位1:”&arrA(i,0)&“</td>”)

response.write(“<td>欄位2:”&arrA(i,1)&“</td>”)

response.write(“<td>欄位3:”&arrA(i,2)&“</td>”)

response.write(“<td>欄位4:”&arrA(i,3)&“</td>”)

response.write(“</tr>”)

Next

response.write(“</table>”)

’第二個select表迴圈

response.write(“<p>表二:</p><table>”)

For i=0 to UBound(arrB,2)

response.write(“<tr>”)

response.write(“<td>欄位1:”&arrB(i,0)&“</td>”)

response.write(“<td>欄位2:”&arrB(i,1)&“</td>”)

response.write(“<td>欄位3:”&arrB(i,2)&“</td>”)

response.write(“<td>欄位4:”&arrB(i,3)&“</td>”)

response.write(“<td>欄位5:”&arrB(i,4)&“</td>”)

response.write(“</tr>”)

Next

response.write(“</table>”)

優點:

1、使用NextRecordSet,可以處理多個select語句一次發送形成的結果集,減少網路流量,必定加快速度!

2、使用GetRows將記錄集提取到數組中(記憶體操作,因此記錄集不能太大)用記憶體的數組工作,而且省掉eof、MoveNext等判斷,速度更快!

3、最最主要的,我們利用上二者,一次性將所有的資料提完,快速斷開資料庫連接和銷毀建立的RecordSet資料庫物件,大大減少網路流量!效能自然要提高很多!

文章來源:http://www.joyiu.com/article.asp?id=56

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.