我最近閱讀了SQLite,並認爲我會試試看。當我插入一條記錄時,它表現良好。但是當我插入一百個時,它需要五秒鐘,並且隨着記錄數量的增加,時間也會增加。什麼可能是錯的?我使用SQLite的包裝(system.data.SQlite)
:在你的批量插入SQLite插入非常慢?
dbcon = new SQLiteConnection(connectionString);
dbcon.Open();
//---INSIDE LOOP
SQLiteCommand sqlComm = new SQLiteCommand(sqlQuery, dbcon);
nRowUpdatedCount = sqlComm.ExecuteNonQuery();
//---END LOOP
dbcon.close();
+1這在提到4分鐘[SQLite FAQ,#19](http://www.sqlite.org/faq.html#q19) - 當你沒有開始/結束時,SQLite正在爲每個插入創建一個事務。 – 2010-10-04 00:17:32
爲什麼你使用了3 ExecuteNonQuery,其中一個人可以完成這項工作 – 2010-10-04 00:38:42
3'ExecuteNonQuery'因爲1代表'BEGIN',每個'INSERT'代表1個(或更多),'END'代表1。除非將所有SQL語句添加到一個字符串(用分號分隔),否則您需要多個'ExecuteNonQuery'調用。 – tidwall 2010-10-04 02:02:04