다음을 통해 공유


대량 삽입

SQLite에는 데이터를 대량 삽입하는 특별한 방법이 없습니다. 데이터를 삽입하거나 업데이트할 때 최적의 성능을 얻으려면 다음을 수행해야 합니다.

  • 트랜잭션을 사용합니다.
  • 동일한 매개 변수가 있는 명령을 다시 사용합니다. 후속 실행은 첫 번째 컴파일을 다시 사용합니다.
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();
}