Access. Программирование на VBA

       

с серверными данными следует избегать


• При запрашивании данных с сервера необходимо применять методы CacheStart, FillCache и EndCache для

обработки данных, поступающих с сервера.

• При работе с серверными данными следует избегать локальной обработки. Локальная обработка напоминает использование сложного выражения Group By с ключевым словом Distinct,

использо­вание оператора LIKE в текстовых полях или полях заметок, множественных агрегирующих функ­ций в перекрестном запросе или перекрестных запросов без условий ORDER.

Кроме того, следует избегать сложных внешних и внутренних комбинаций связей. Такие конструкции вынуждают сервер посылать громадные объемы данных на локальный PC для обработки, что значительно снижает производительность.

• Необходимо регулярно сжимать базу данных и проверять статистические показатели, используемые механизмом Jet для оптимизации запросов.

• Если это возможно, следует заполнить приложение таким же количеством тестовых данных, кото­рое будет использоваться при работе с пользователями. Механизм Jet сможет оптимизировать зап­росы, используя те статистические показатели, которые точно отражают реальные условия выполнения запросов.

• Рекомендуется индексировать поля для сортировки.

• Если данные являются в основном статичными, следует рассмотреть возможность создания таблич­ного запроса к необходимым данным вместо неоднократного запрашивания базы данных.

• Необходимо избегать использования доменных агрегирующих функций (DIookupO) для таблиц, кото­рых нет в запросе.

Запросы представляют собой наиболее сложный аспект Access. К счастью, большую часть работы по оптимизации запросов выполняет механизм Jet. Информация, изложенная в данном разделе, поможет разработчику оказать механизму Jet содействие при оптимизации. Следует проверить результаты экспери­ментов в SHOWPLAN и с помощью подпрограмм PrintStats и QueryTimer,

чтобы определить, какая комбинация решений выполняется с максимальной производительностью.


Содержание раздела