2012-03-08 3 views
0

У меня есть приложение wpf, которое сохраняет элементы в файле SQL Server Compact Edition. Этот файл создается динамически из списка классов, составляющих контекст данных. Я испытываю медленное время загрузки, когда у меня есть следующий сценарий.Увеличьте скорость чтения компакт-дисков SQL

Попытки загрузить список Itema, который содержит список ItemB

В моем DataContext это ссылки на Table1, ссылка таблицу из Table1 до Table2 и Table2

Чтобы получить это в мое приложение I Загрузить Все строки таблицы 1 из Sql Server. Для каждой строки таблицы1 я добавляю любую информацию в новый ItemA. Затем я ищу любые строки Table2, которые ссылаются на текущую строку Table1 через таблицу ссылок. Для возвращаемых строк All Table2 я конвертирую их в список ItemB и добавляю их в ItemA.

В итоге я получаю список ItemA, каждый из которых содержит список ItemB. Проблема в том, что я делаю несколько вызовов в БД, и это увеличивает время загрузки, когда вы получаете несколько сотен элементов. Есть ли лучший способ сделать это без нескольких вызовов? Если это не лучший способ ускорить работу приложения? Должен ли я быть кешированием ItemA, если да, то что это лучший способ сделать это?

+0

На основании ответов пока нет и того факта, что единственным способом ускорить приложение (1 минута времени загрузки до миллисекунд) является двоичная сериализация всех моих объектов на диск и обратно в память при загрузке, I Я думаю, что полностью отбросить SQL Server CE. Я хочу портировать это приложение на Windows 8 Metro в конце концов и, поскольку он не поддерживает sql ce, это кажется еще более убедительной причиной для этого. - Есть ли у кого-нибудь какие-либо советы о том, насколько большой может быть ваш сериализованный файл, прежде чем он станет неработоспособным или какие-либо другие причины, почему это плохая идея? – Oli

ответ

0

Не так много ответа, но я считаю, что sql ce недостаточно быстро для сценария, поднятого выше. Поэтому я изменил свой резервный магазин на список в памяти, который сериализуется в файл в соответствии с моим комментарием выше. После месяца тестирования я не испытывал никаких проблем и значительно улучшил скорость моего приложения.

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