Массовая вставка в базу данных SQLite.Net - PullRequest
3 голосов
/ 15 июля 2009

Мне нужно выполнить массовое внедрение в базу данных sqlite в visual studio. Кто-нибудь знает, как это сделать?

Ответы [ 6 ]

7 голосов
/ 27 июля 2009

С помощью SQLite вы можете сделать это, открыв транзакцию, пройдя все ваши данные и выполнив соответствующие команды SQL INSERT, и затем подтвердите транзакцию. Это самый быстрый способ выполнения массовых вставок в SQLite.

2 голосов
/ 12 августа 2016

Я использую пакет nuget SQLite.Net.Async-PCL для работы с sqlite в моем приложении UWP и обнаружил, что метод InsertAllAsync действительно быстрый. Он смог вставить почти 33 000 строк в таблицу менее чем за секунду, и это заняло почти 10 минут, когда я использовал цикл и просто вызвал InsertAsync.

Я проверил источник, и он использует транзакцию для метода InsertAll, поэтому хорошо, что все уже позаботились, и вы можете просто передать свой список элементов и не переходить ни через какие обручи.

2 голосов
/ 27 октября 2011
    private void prepareConnectionForBulkInsert(SQLiteConnection cn)
    {

        SQLiteCommand stmt;

        stmt = new SQLiteCommand("PRAGMA synchronous=OFF", cn);
        stmt.ExecuteNonQuery();

        stmt = new SQLiteCommand("PRAGMA count_changes=OFF", cn);
        stmt.ExecuteNonQuery();

        stmt = new SQLiteCommand("PRAGMA journal_mode=MEMORY", cn);
        stmt.ExecuteNonQuery();

        stmt = new SQLiteCommand("PRAGMA temp_store=MEMORY", cn);
        stmt.ExecuteNonQuery();

    }
1 голос
/ 08 сентября 2009

Я написал класс для облегчения массовых вставок в SQLite. Надеюсь, это полезно:

http://procbits.com/2009/09/08/sqlite-bulk-insert/

-JP

1 голос
/ 08 сентября 2009

Мне нужно было сделать то же самое, я нашел этот ответ на форуме Sqlite.Net, может быть кому-то интересно

http://sqlite.phxsoftware.com/forums/t/134.aspx

1 голос
/ 15 июля 2009

Вы можете просто написать обычный оператор вставки и выполнить цикл по вашему набору данных, вставляя соответствующие данные в строку запроса, прежде чем запускать их для базы данных.

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