с серверными данными следует избегать
• При запрашивании данных с сервера необходимо применять методы
CacheStart, FillCache и EndCache для
обработки данных, поступающих с сервера.
• При работе с серверными данными следует избегать локальной обработки. Локальная обработка напоминает использование сложного выражения
Group By с ключевым словом
Distinct,
использование оператора LIKE в текстовых полях или полях заметок, множественных агрегирующих функций в перекрестном запросе или перекрестных запросов без условий
ORDER.
Кроме того, следует избегать сложных внешних и внутренних комбинаций связей. Такие конструкции вынуждают сервер посылать громадные объемы данных на локальный PC для обработки, что значительно снижает производительность.
• Необходимо регулярно сжимать базу данных и проверять статистические показатели, используемые механизмом Jet для оптимизации запросов.
• Если это возможно, следует заполнить приложение таким же количеством тестовых данных, которое будет использоваться при работе с пользователями. Механизм Jet сможет оптимизировать запросы, используя те статистические показатели, которые точно отражают реальные условия выполнения запросов.
• Рекомендуется индексировать поля для сортировки.
• Если данные являются в основном статичными, следует рассмотреть возможность создания табличного запроса к необходимым данным вместо неоднократного запрашивания базы данных.
• Необходимо избегать использования доменных агрегирующих функций (DIookupO) для таблиц, которых нет в запросе.
Запросы представляют собой наиболее сложный аспект Access. К счастью, большую часть работы по оптимизации запросов выполняет механизм Jet. Информация, изложенная в данном разделе, поможет разработчику оказать механизму Jet содействие при оптимизации. Следует проверить результаты экспериментов в SHOWPLAN и с помощью подпрограмм
PrintStats и
QueryTimer,
чтобы определить, какая комбинация решений выполняется с максимальной производительностью.
Содержание раздела