public void TestBulkInsert() { TestSuit.RemoveDb(); TestSuit.CreateDb(); var connStr = $"Data Source={TestSuit.FilePath}"; var helper = new SqliteHelper(); var createTableSql = "CREATE TABLE `TestDb` (`Id` INTEGER, `Name` TEXT);"; helper.ExecuteNonQuery(connStr, CommandType.Text, createTableSql); // 测试1000000条数据插入需要长时间 var table = new DataTable(); table.Columns.Add("Id", typeof(int)); table.Columns.Add("Name", typeof(string)); var count = 1000000; for (int i = 0; i < count; i++) { table.Rows.Add(i, $"Test{i}"); } var stopWatch = new Stopwatch(); stopWatch.Start(); helper.BulkInsert(connStr, "TestDb", table); stopWatch.Stop(); Console.WriteLine(stopWatch.Elapsed.TotalSeconds); var id = helper.ExecuteScalar(connStr, CommandType.Text, "SELECT Id FROM TestDb ORDER BY Id DESC"); id.Should().Equals(count - 1); helper = null; GC.Collect(); Thread.Sleep(1000); TestSuit.RemoveDb(); }