今天有個朋友測試 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...
如何提高效率SQLITE 大資料量操作 效率
sqlite 作為乙個輕量級嵌入式資料庫,還是非常好用的。雨痕極力推薦 今天有個朋友測試 sqlite,然後得出的結論是 sqlite 效率太低,批量插入1000條記錄,居然耗時 2 分鐘!下面是他發給我的測試 我暈 using system.data using system.data.commo...
提高WebService效能大資料量網路傳輸處理
1 直接返回dataset物件 xmlnamespace prefix p 特點 通常元件化的處理機制,不加任何修飾及處理 優點 精減 易於處理,小資料量處理較快 缺點 大資料量的傳遞處理慢,消耗網路資源 建議 當應用系統在內網 專網 區域網 的應用時,或外網 廣域網 且資料量在kb級時的應用時,採...