我最近阅读了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