各位乡亲父老,欢迎大家来捧场!江湖卖艺,生活不易!技艺交流(投稿、打广告、链接交换),请搓这里

  向ACCESS大批量插入数据时比较快捷的方法

2019/11/21 19:00:50管理员 2221
- N +
今天经过试验,总结了一条向ACCESS大批量插入数据时比较快捷的方法.

先前VC程序中使用connection执行insert语句向ACCESS中插入数据,效率奇慢无比.今天测试结果表明:

同等数据量时,    rs.addnew比connection.execute(insert)要高N倍.

另,建议使用事务机制处理数据.
将connection.BeginTrans和connection.CommitTrans配合rs.addnew使用,
VB+ACCESS试验数据表明,一百万条新数据插入,仅需要一分多钟,使用connection.execute更新十万条数据时需要三五分钟.不使用事务应该会更久(根据先前经验,未测试).
需要注意的是,使用rs.addnew时,rs的LockType不能使用adLockBatchOptimistic或adLockReadOnly,否则会报错

=========================================================
测试代码如下:
1.        Private Sub Command1_Click()
2.        Dim cnn1 As ADODB.Connection
3.              Dim rstTitles As ADODB.Recordset
4.              Dim strCnn As String
5.              Dim strTitle As String
6.              Dim strMessage As String
7.        
8.              ' 打开连接。
9.              strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\North.mdb;Persist Security Info=False"
10.              Set cnn1 = New ADODB.Connection
11.              cnn1.Open strCnn
12.              
13.              Dim i As Long
14.              Dim t1 As String, t2 As String
15.              t1 = Time$()
16.              cnn1.BeginTrans
17.              
18.              Set rstTitles = New ADODB.Recordset
19.              rstTitles.LockType = adLockPessimistic '不能使用adLockBatchOptimistic或adLockReadOnly
20.              rstTitles.CursorType = adOpenDynamic
21.                rstTitles.Open "tab", cnn1
22.                
23.              For i = 1 To 10
24.                rstTitles.AddNew
25.                rstTitles("a") = i
26.                rstTitles("b") = i
27.                rstTitles.Update
28.              Next i
29.        
30.                cnn1.CommitTrans
31.                
32.              rstTitles.Close
33.              cnn1.Close
34.              
35.              t2 = Time$()
36.              
37.              MsgBox t1 & "      " & t2
38.        End Sub
1人赞 分享 二维码 赏一个
选择分享方式
移步手机端
文章手机二维码

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
选择打赏方式
微信赞助

打赏