Повышение производительности при работе с формами
Некоторые рекомендации по повышению производительности форм в клиентском приложении.
- При проектировании формы определите, какие данные она должна предоставлять и какой функциональностью должна обладать. Отложите процесс загрузки данных с сервера до того момента, когда это потребуется пользователю. Создайте форму, в которую данные не будут загружаться в процессе открытия, поместите в форму специальную кнопку, позволяющую загрузить данные.
- Используйте в формах минимальное количество полей, требующих длительного времени для загрузки данных, таких как текст и графические элементы. Поместите поле с текстом или рисунок в подчиненную форму, использующую тот же источник данных, что и главная форма.
- Помещайте в главную форму только основные поля, все остальные данные поместите в подчиненную форму, открываемую с помощью специальной кнопки с названием Дополнительная информация в главной форме. В качестве источника данных для подчиненной формы используйте запрос, параметризованный ключевыми полями источника данных главной формы.
- Для ввода данных создайте отдельные формы специального типа, установив для них значение Да (Yes) свойства Ввод данных (Data Entry). В формы такого типа данные из источника данных (находящегося на сервере) не загружаются, в них отображаются только добавляемые записи, что значительно ускоряет работу.
- Минимизируйте число строк, показываемых в полях со списком, если данные для этих списков берутся с сервера. Если данные редко модифицируются, то лучше храните их в локальных таблицах и создайте процедуру для синхронизации серверных и локальных таблиц. В локальных таблицах, хранящих такие данные, обязательно постройте индексы, чтобы ускорить создание списков.
- Если форма или отчет основаны на параметризованной хранимой процедуре, устанавливайте значение параметров с помощью свойства Входные параметры (Input Parameters).
- Чтобы удалить или обновить данные, используйте инструкции SQL UPDATE и DELETE с параметром WHERE. Этот способ более эффективен по сравнению с открытием набора записей и выполнением над ним необходимых операций.