Ускорение работы с базой данных (c# .net2.0)

Бюджет: 15 $
11.23 € – 1 265.95 
Есть следующий код:

var list = new List<OrderedDictionary>(); 

                OrderedDictionary where = new OrderedDictionary();
                where.Add("processed", 0);

                dtab = db.getRowsWhere("history", where);
                int c = dtab.Rows.Count;
                for (int i = 0; i < N; i++)
                {
                    OrderedDictionary results = new OrderedDictionary();

                    results.Add("profile", "site.com");
                    results.Add("url", "site.com/page" + i.ToString() + ".html");
                    results.Add("processed", "0");

                    list.Add(results);
                }
                db.insertAllRowsToTable("history", list, new List<string>(), DBkeyParams);

Он использует функцию моей надстройки над sqlite insertAllRowsToTable, чтобы вставить в базу N записей (или обновить N старых записей). Проблема заключается в том, что если N = 10000, то он работает минимум 22 секунды, а если N = 100000 (или если в базе уже хотя бы 50000 записей присутствует), то код вообще зависает. Мне нужно решение для работы с базой данных в c# из приложения под .NET2.0 , которое будет быстро и без зависаний работать с базами хотя бы до 500000 записей (а запись в базу 100000 записей не должна превышать по времени 5 минут). 

Для реализации я предоставлю точное описание (и сам код) уже существующих функций моей надстройки). Реализовать можно с помощью sqlite, либо с помощью другого решения. ВАЖНО чтобы данные функции абсолютно автономно работали в рамках приложения написанного на C# под .NET2 (то есть для использования БД, у пользователя на компьютере нет необходимости устанавливать дополнительные программные комплексы, а достаточно всего лишь библиотеки, идущей в составе моей программы)
Опубликован 08.12.2011 в 23:18

Выберите способ верификации:

Обновите страницу после прохождения верификации.