Я работаю над настольным приложением, которое использует SQLite для массовой вставки десятков тысяч строк в базу данных SQLite. Мне нужна помощь в оптимизации производительности объемной вставки. В настоящее время вставка 60 мегабайт данных в базу данных занимает до 50 секунд.
- # P2 #
# P3 #
Я использую Dapper ORM. (построен ребятами из StackOverflow) Есть ли более быстрый способ массовой вставки в Sqlite в .net?
System.Data.Sqlite используется для вставки в SQLite. Как насчет получения специальной скомпилированной версии sqlite, улучшающей производительность? Одна версия SQLite лучше другой? В настоящее время используется System.Data.SQLite с сайта http://sqlite.phxsoftware.com
В настоящее время я оборачиваю вставки внутри транзакции, чтобы сделать их быстрее (это хорошее улучшение).
Я вставляю по одной таблице по 17 таблиц. Могу ли я распараллелить это на разных потоках и сделать это быстрее?
Текущая производительность. Это типично? Могу я сделать лучше?
- 55000 строк в таблице с 19 столбцами: 2,25 с для вставки (24 тыс. Вставок / с)
- 10 000 строк в таблице с 63 столбцами: 2,74 с для вставки (3,7 к / с)
Мне нравится SQLite, но я бы хотел сделать его немного быстрее. В настоящее время сохранение моих объектов в файл XML с использованием сериализации XML происходит быстрее, чем сохранение в базе данных SQLite, поэтому мой босс спрашивает: зачем переходить на SQLite? Или мне следует использовать MongoDB или другую объектную базу данных?
PRAGMA
и использование транзакции. Но как это соотносится с ORM, я не знаю. - person Chris J   schedule 25.01.2012