access的規格中雖然沒有限制一張表的最大數據條數,但是限制了一個.mdb文件和一張表的大小不能超過2GB。所以,在只有一個.mdb文件的條件下,是不能對一張表進行無限插入的。
作爲一款桌面型數據庫,能夠通過Microsoft Jet Database Engine訪問,而且具有GUI,其在數據量較小的小型的桌面應用開發時用做數據存儲還是很方便的。
在此對Access 2010數據庫插入1 000 000條數據時的性能進行測試。
筆者通過Visual Stdio 2010編寫了一個簡單的桌面程序,開啓獨立子線程進行數據操作測試,每操作100次將當前時間記錄在文件中。測試程序共開啓14個線程,忽略其它線程消耗時間片和文件寫入時間。測試期間CPU佔用率在12%~13%。
測試數據條數:1 000 000
測試數據操作:INSERT UPDATE 基本操作
測試環境:windows 7 64-bit
Intel Core i7-2630QM 2.00GHz
RAM 4.00GB
測試結果
1.INSERT (插入四個域)
插入1 000 000條總共耗時1463s,平均每秒插入683.53條
0 2013/8/27 23:57:25
100 2013/8/27 23:57:25
200 2013/8/27 23:57:26
300 2013/8/27 23:57:26
...
999700 2013/8/28 0:21:48
999800 2013/8/28 0:21:48
999900 2013/8/28 0:21:48
詳細
0~11 000條 800條/s
11 000~93 800條 700條/s
93 800~781 200條 600條/s
781 200~1 000 000條 500條/s
由此可見在100 000條數據以內,access的性能是比較好的,超過後性能有所下降,但仍然比較穩定。
前93800加權平均後爲711條/s,後906200加權平均後爲576條/s,性能大約下降18.99%。
2.UPDATE (更新三個域)
更新1 000 000條總共耗時2966s,平均每秒更新337.15條
0 2013/8/28 17:28:14
100 2013/8/28 17:28:17
200 2013/8/28 17:28:18
300 2013/8/28 17:28:19
...
999700 2013/8/28 18:17:40
999800 2013/8/28 18:17:40
999900 2013/8/28 18:17:40
詳細
0~1 100次 100次/s
1 100~9 900次 200次/s
9 900~1 000 000次 300~400次/s
由此可見,隨着連續查詢次數的增加,,其性能逐漸增加並趨於穩定