關(guān)于大批量數(shù)據(jù)高效插入方法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
數(shù)據(jù)庫大批量插入數(shù)據(jù)的效率對比,用ACCESS和MSSQL,數(shù)值是在本機(jī)測試,根據(jù)不同的環(huán)境和配置,數(shù)值可能會(huì)有較大差別,大家看個(gè)對比就行了,別精打細(xì)算了。 使用Insert into方法插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) Access 1000次 672 Access 10000次 5610 MSSQL 1000次 610 MSSQL 10000次 5579 速度基本差不多,同樣在解析語法上花費(fèi)了很多時(shí)間 使用Addnew方法插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) Access 1000次 187 Access 10000次 1172 MSSQL 1000次 828 MSSQL 10000次 6719 速度明顯有差距了,按道理說MSSQL速度應(yīng)該比較快的,可能是因?yàn)镸SSQL的LOG造成的影響吧 使用事務(wù)進(jìn)行插入的效率對比 使用事務(wù)進(jìn)行Insert into方法插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) Access 1000次 563 Access 10000次 4625 MSSQL 1000次 281 MSSQL 10000次 2183 使用事務(wù)的話,ACCESS與MSSQL的速度都有明顯提高,但是MSSQL提高更突出 使用事務(wù)進(jìn)行Addnew方法插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) Access 1000次 188 Access 10000次 1187 MSSQL 1000次 469 MSSQL 10000次 3875 看得出來,Access在使用事務(wù)情況下,Insert into效率提高還是比較明顯,但是Addnew基本上變,原因可能是Addnew本身就是一種預(yù)解析模式,在整個(gè)插入過程中不需要語法解析,事務(wù)的批量提交優(yōu)勢也就沒那么大了 最后來測試一下MSSQL的存儲(chǔ)過程 不使用事務(wù)進(jìn)行插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) MSSQL 1000次 375 MSSQL 10000次 3547 使用事務(wù)進(jìn)行插入 數(shù)據(jù)庫 插入數(shù) 花費(fèi)時(shí)間(單位:ms) MSSQL 1000次 187 MSSQL 10000次 1265 結(jié)果很明顯,使用MSSQL進(jìn)行大數(shù)據(jù)量插入,最好使用事務(wù)功能,這樣效率提高一倍多。 使用Insert Into無論是ACCESS還是MSSQL效率都是一樣慢,但是MSSQL用事務(wù)的話,效率還可以接受,ACCESS就不行了。 使用Addnew進(jìn)行插入,ACCESS最適合這種方式,無論使不使用事務(wù),效率差距不大,但是MSSQL就不建議這種方式了,怎么搞MSSQL在Addnew插入效率都很低。 綜合以上考慮,在插入效率最高的要求下,ACCESS使用帶事務(wù)的Addnew插入,MSSQL則使用帶事務(wù)的存儲(chǔ)過程。 該文章在 2011/2/26 10:14:25 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |