ACCESS的真假:三、往一個表中插入10萬條記錄的速度小于插入1萬
下面這個貼子中討論了很多access中的一些猜想假設(shè)。
access或其它數(shù)據(jù)庫操作效率問題.歡迎討論
引用 28 樓 wwwwb 的回復(fù)::
比如插入10萬條記錄,速度 <插入1萬條記錄;
面對這個問題,第一想法上,在一個mdb文件插入過多的記錄,自然會導(dǎo)致MDB文件增大,需要不停地向操作系統(tǒng)申請磁盤空間的分配。因故會導(dǎo)致速度慢。但再仔細(xì)一想好象也沒什么道理,畢竟加10000條也要申請10000條記錄的空間,速度上應(yīng)該沒什么影響。畢竟access中又不會去用什么redo / undo log.
于是便做了個簡單的測試如下以對這個猜想證實(shí)。
新建空的 t.mdb 文件,創(chuàng)建表 table1 (id int primary key,cname varchar(10)
然后新建 模塊,內(nèi)容如下。
view plaincopy to clipboardprint?
Option Compare Database
Option Explicit
Public Sub t1(nRowCnt As Long)
Dim i As Long
Dim conn As ADODB.Connection
Set conn = CurrentProject.Connection
For i = 1 To nRowCnt
conn.Execute "insert into table1(id,cname) values(" & i & ",'" & i & "')"
Next i
End Sub
Public Sub t()
CurrentProject.Connection.Execute "delete from table1"
Debug.Print "t10000 start.", Now
Call t1(10000)
Debug.Print "t10000 end .", Now
CurrentProject.Connection.Execute "delete from table1"
Debug.Print "t100000 start.", Now
Call t1(100000)
Debug.Print "t100000 end .", Now
End Sub
Option Compare Database
Option Explicit
Public Sub t1(nRowCnt As Long)
Dim i As Long
Dim conn As ADODB.Connection
Set conn = CurrentProject.Connection
For i = 1 To nRowCnt
conn.Execute "insert into table1(id,cname) values(" & i & ",'" & i & "')"
Next i
End Sub
Public Sub t()
CurrentProject.Connection.Execute "delete from table1"
Debug.Print "t10000 start.", Now
Call t1(10000)
Debug.Print "t10000 end .", Now
CurrentProject.Connection.Execute "delete from table1"
Debug.Print "t100000 start.", Now
Call t1(100000)
Debug.Print "t100000 end .", Now
End Sub
運(yùn)行 t() 結(jié)果如下:
t10000 start. 5/14/2009 7:53:10 PM
t10000 end . 5/14/2009 7:53:29 PM
t100000 start. 5/14/2009 7:53:29 PM
t100000 end . 5/14/2009 7:56:06 PM
t10000 . 19s
t100000 . 157 s
試驗(yàn)結(jié)論:
插入10萬條的總時間顯然比插入1萬長(157s>19s),但速度顯然快(157/100000<19/10000)
看來實(shí)踐是檢驗(yàn)的唯一標(biāo)準(zhǔn)啊。
(責(zé)任編輯:admin)
- ·如何將數(shù)據(jù)表導(dǎo)出備份到excel表格
- ·在表中用組合框選擇備選項(xiàng)目
- ·如何設(shè)置表的Caption和Description屬性
- ·用Access實(shí)現(xiàn)學(xué)校課程表的科學(xué)管理
- ·在表中設(shè)置美元等貨幣符號的方法
- ·Access建表需注意的問題(建表原則)
- ·Access獲取表下個自動增加的ID值【兩種
- ·Access光標(biāo)在文本框的右邊
- ·Access格式、掩碼、文本有效性的異同
- ·access中的掩碼
- ·【技巧】Access時間函數(shù)匯總(一)
- ·Access隱藏表中的列
- ·Excel與Access簡便聯(lián)系方法
- ·Word文本文件導(dǎo)入到Access2007與導(dǎo)出的
- ·ACCESS字段中設(shè)置默認(rèn)日期值函數(shù)大全
- ·ACCESS的真假:三、往一個表中插入10萬