我有一个带有72.000条INSERT语句的* .sql脚本。 我每10.000行放入BEGIN / COMMIT TRANSACTION语句。 所以有点像这样:
BEGIN TRANSACTION;
INSERT INTO Symbols (Market, Symbol, Description) VALUES ('AMEX','AAAU','Perth Mint Physical Gold ETF');
... 9.999 other INSERTs
COMMIT TRANSACTION;
C#代码如下:
var seedData = File.ReadAllText(sqlScriptFilePath);
using (var db = new SqliteConnection(connectionString))
{
db.Open();
var sqlCmdInsert = new SqliteCommand(seedData, db);
sqlCmdInsert.ExecuteNonQuery();
db.Close();
}
完成插入需要30分钟以上。我究竟做错了什么?我认为将其拆分为多个交易会有所帮助。