Копирование больших объемов данных в базу данных SQL CE
-
23-08-2019 - |
Вопрос
Если у меня в памяти большой объем данных, как лучше всего скопировать его в таблицу SQL CE?Текущий стек технологий — C#, ADO.net и SQL CE.
Моя первоначальная идея заключалась в том, чтобы выполнить один оператор INSERT для каждой строки данных, но это отнимает много времени.Есть ли более простой способ?
Решение
Первое, что пришло мне в голову, — это выполнить синхронизацию/объединение с базой данных рабочего стола или сервера, хотя это не похоже на то, что это действительно соответствует вашим потребностям.Итак, вот моя вторая мысль:
МАССОВАЯ ВСТАВКА имя_таблицы ИЗ файла_данных
Я не уверен, поддерживается ли он в вашей версии SQL CE (хотя, насколько я могу судить на страницах MSDN, он поддерживается в версии 3.5 SP1). http://msdn.microsoft.com/en-us/library/ms188365.aspx
Вы также можете отключить любые индексы в таблице во время вставки данных, чтобы ускорить процесс, а затем включить/перестроить индекс после завершения вставки.
Другие советы
У Стива Ласкера отличный пример кода демонстрация этого разными методами, но лучший метод (безусловно) - SqlCeResultSet.
Вот сообщение в блоге от Стива с некоторыми хорошими PowerPoint по этой теме.