Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
SQLite doesn't have any special way to bulk insert data. To get optimal performance when inserting or updating data, ensure that you do the following:
- Use a transaction.
- Reuse the same parameterized command. Subsequent executions will reuse the compilation of the first one.
using (var transaction = connection.BeginTransaction())
{
var command = connection.CreateCommand();
command.CommandText =
@"
INSERT INTO data
VALUES ($value)
";
var parameter = command.CreateParameter();
parameter.ParameterName = "$value";
command.Parameters.Add(parameter);
// Insert a lot of data
var random = new Random();
for (var i = 0; i < 150_000; i++)
{
parameter.Value = random.Next();
command.ExecuteNonQuery();
}
transaction.Commit();
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.