如何提高效率SQLITE 大資料量操作 效率

2021-08-25 15:43:56 字數 1267 閱讀 2605

sqlite 作為乙個輕量級嵌入式資料庫,還是非常好用的。雨痕極力推薦~~~~~~

今天有個朋友測試 sqlite,然後得出的結論是:sqlite 效率太低,批量插入1000條記錄,居然耗時 2 分鐘!

下面是他發給我的測試**。我暈~~~~~~

using system.data;

using system.data.common;

using system.data.sqlite;

// 建立資料庫檔案

file.delete("test1.db3");

sqliteconnection.createfile("test1.db3");

dbprovide***ctory factory = sqlitefactory.instance;

using (dbconnection conn = factory.createconnection())

// 停止計時

watch.stop();

console.writeline(watch.elapsed);

}哎~~~~ 乙個常識性的錯誤,我加幾行** (新增**標記 "// <-------------------")。

using system.data;

using system.data.common;

using system.data.sqlite;

// 建立資料庫檔案

file.delete("test1.db3");

sqliteconnection.createfile("test1.db3");

dbprovide***ctory factory = sqlitefactory.instance;

using (dbconnection conn = factory.createconnection())

trans.commit(); // <-------------------

}catch

// 停止計時

watch.stop();

console.writeline(watch.elapsed);

}執行一下,耗時 0.2 秒。這差距是不是太大了點?

為什麼只是簡單啟用了乙個事務會有這麼大的差距呢?很簡單,sqlite 預設為每個操作啟動乙個事務,那麼原** 1000 次插入起碼開啟了 1000 個事務,"事務開啟 + sql 執行 + 事務關閉" 自然耗費了大量的時間,這也是後面顯示啟動事務後為什麼如此快的原因。其實這是資料庫操作的基本常識,大家要緊記,不好的**效率差的不是一點半點。

如何提高效率SQLITE 大資料量操作效率

今天有個朋友測試 sqlite,然後得出的結論是 sqlite 效率太低,批量插入1000條記錄,居然耗時 2 分鐘!using system.data using system.data.common using system.data.sqlite 建立資料庫檔案 file.delete tes...

如何提高效率

如果問 你想不想使自己的收入加倍 我猜每個人的答案都是 yes 如果我繼續問 你相不相信現在你的收入會加倍 我想有一些人可能會沒把握,有一些人認為不太可能,我告訴各位 你們每個人的收入一定會加 倍 因為按照每年物價增長率及通貨膨脹的正常速度,20年後你的收入一定會加倍。但是如果你希望,提前在5年內 ...

如何提高效率

在提高班學習有很長的一段時間了,學習的收穫中有一點是非常的明顯,那就是自己的效率明顯的比原來高出許多,現在就按照自己的切身體會來總結一下如何提高自己效率.1 目標 必須要有目標,沒有目標和方向效率會大大的折扣.當然不僅僅是學習,更是生活,事業,和人的整個一生.這點公尺老師非常的重視,每個學習階段都給...