SQLite插入很慢?

我最近阅读了有关SQLite的文章,并认为可以尝试一下。当我插入一条记录时,它执行得很好。但是,当我插入一百时,它需要五秒钟,并且随着记录数的增加,时间也会增加。有什么事吗 我正在使用SQLite包装器(system.data.SQlite):


dbcon = new SQLiteConnection(connectionString);

dbcon.Open();


//---INSIDE LOOP


 SQLiteCommand sqlComm = new SQLiteCommand(sqlQuery, dbcon);


 nRowUpdatedCount = sqlComm.ExecuteNonQuery(); 


//---END LOOP


dbcon.close();


慕的地8271018
浏览 604回答 3
3回答

函数式编程

我到处都读到创建事务是降低SQLite写入速度的解决方案,但是重写代码并将所有SQLite写入包装在事务中可能很长且很痛苦。我发现了一种更简单,安全且非常有效的方法:我启用了(默认情况下禁用)SQLite 3.7.0优化:预写日志(WAL)。该文档说它可以在所有的Unix(即Linux和OSX)和Windows系统中使用。怎么样 ?初始化SQLite连接后,只需运行以下命令:PRAGMA journal_mode = WALPRAGMA synchronous = NORMAL我的代码现在运行速度提高了约600%:我的测试套件现在运行了38秒,而不是4分钟:)
打开App,查看更多内容
随时随地看视频慕课网APP