Моя база данных SQL Compact очень проста: всего три таблицы и один индекс для одной из таблиц (таблица с 200 тыс. Строк; в двух других - менее ста).
При первом использовании файла .sdf моим приложением Compact Framework на целевом устройстве Windows Mobile система зависает более минуты, пока «что-то» делается с базой данных: при развертывании размер базы данных составляет 17 мегабайт и после этого первого использования, он раздувается до 24 мегабайт.
Все последующее использование довольно быстрое, поэтому я предполагаю, что во время первого использования происходит какая-то инициализация / построение индекса. Я бы предпочел не подвергать пользователя этой задержке, поэтому мне интересно, что это за процесс инициализации и можно ли его выполнить перед развертыванием.
На данный момент я скопировал «инициализированную» базу данных обратно на рабочий стол для использования в проекте установки, но я действительно хотел бы получить лучший ответ / решение. Я пробовал "полное сжатие / восстановление" в диалоге свойств базы данных VS, но это не имело никакого значения. Есть идеи?
К записи следует добавить, что база данных считывается только приложением устройства - этот код не вносит никаких изменений.