Производительность SQL Server Compact Edition 3.5 - PullRequest
2 голосов
/ 24 мая 2010

Я использую SQL Server CE 3.5 SP1 в одном из моих клиентских приложений. Когда пользователь загружает программу и начинает использовать ее, производительность в порядке. Если пользователь позволяет программе некоторое время бездействовать, то для ответа программы требуется значительное время (10 или более секунд). Каждый раз, когда пользователь запрашивает новый экран, вызывается база данных SQL CE для получения данных для этого экрана. Кажется, что жесткий диск может переходить в спящий режим, а затем при обращении к базе данных жесткий диск должен вернуться в рабочее состояние. Можно ли загрузить всю базу данных в память и работать с этого? Есть ли другие предложения по повышению производительности?

Ответы [ 2 ]

1 голос
/ 05 июня 2010

Очень сомневаюсь, что проблема в SqlCE.Это очень быстрая база данных.В процессе.Более того, я загрузил сотни тысяч записей и получил ту же производительность, если использовал SQL Express.

Можете ли вы загрузить всю базу данных?Конечно, для этого и нужен ADO.NET.Не делай этого.

Я подозреваю, что у тебя есть другие проблемы.Например, выполняете ли вы предварительную обработку данных перед загрузкой формы, например, устанавливаете отношения с наборами данных, добавляете столбцы выражений в таблицы данных и т. Д.Также возможно, что на компьютере пользователя недостаточно памяти и что вы сталкиваетесь с ошибкой страницы Windows.То, что вы думаете о доступе SqlCe к базе данных, - это, вероятно, Windows, перезаписывающая ваше приложение обратно в память после записи в файл подкачки.

0 голосов
/ 30 мая 2010

Убедитесь, что соединение с базой данных открыто в течение всего срока действия вашего приложения.Открытие SqlCeConnection - дорогостоящая операция.

...