SQLite вставляет данные очень медленно, даже с BEGIN / COMMIT TRANSACTION - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть скрипт * .sql с 72 000 операторов INSERT. Я помещаю операторы BEGIN / COMMIT TRANSACTION каждые 10.000 строк. Так это выглядит примерно так:

    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 минут. Что я делаю неправильно? Я думал, что разделение его на несколько транзакций поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...