我最近阅读了有关 SQLite 的内容,并想尝试一下。当我插入一条记录时,它执行正常。但是当我插入 100 时需要五秒钟,并且随着记录数的增加,时间也会增加。有什么问题吗?我正在使用 SQLite Wrapper (system.data.SQlite)
:
dbcon = new SQLiteConnection(connectionString);
dbcon.Open();
//---INSIDE LOOP
SQLiteCommand sqlComm = new SQLiteCommand(sqlQuery, dbcon);
nRowUpdatedCount = sqlComm.ExecuteNonQuery();
//---END LOOP
dbcon.close();
最佳答案
将 BEGIN
\END
语句包裹在您的批量插入中。 Sqlite 针对事务进行了优化。
dbcon = new SQLiteConnection(connectionString);
dbcon.Open();
SQLiteCommand sqlComm;
sqlComm = new SQLiteCommand("begin", dbcon);
sqlComm.ExecuteNonQuery();
//---INSIDE LOOP
sqlComm = new SQLiteCommand(sqlQuery, dbcon);
nRowUpdatedCount = sqlComm.ExecuteNonQuery();
//---END LOOP
sqlComm = new SQLiteCommand("end", dbcon);
sqlComm.ExecuteNonQuery();
dbcon.close();
关于c# - SQLite Insert 很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852068/