2010-08-31 5 views
0

Я считаю использование SQLite в настольном приложении для сохранения моей модели. Я планирую загрузить все данные в классы моделей, когда пользователь открывает проект и записывает его снова, когда пользователь сохраняет его. Я напишу все данные, а не только изменившуюся дельту (поскольку мне сложно сказать).Оптимизация SQLite

Данные могут содержать тысячи строк, которые мне нужно будет вставить. Я боюсь, что последовательная вставка многих строк будет медленной (и предварительные тесты подтверждают это).

Есть ли какие-либо рекомендации по оптимизации или трюки для такого сценария?

EDIT: Я использую System.Data.SQLite для .Net

+1

Похоже, вам не нужна база данных для чего угодно, кроме хранилища данных. Плоские файлы более эффективны. – jmz

+0

Будущим версиям необходимо обновить данные (добавить поля, таблицы и т. Д.). Я думаю, что миграция данных/схемы должна быть намного проще с БД, чем с файлами (например, я просто запускаю sql-скрипт). –

+5

Вы начинаете транзакцию перед вставкой строк? В противном случае вставки SQLite выполняются медленно. –

ответ

1

Как Ник D сказал: Если вы собираетесь делать много вставок или обновлений сразу, поместите их в транзакции. Вы найдете результаты в разных мирах. Я бы предложил повторно выполнить предварительный тест в транзакции и сравнить результаты.

Смежные вопросы