зования объединений или сложных условий
• Рекомендуется по возможности поэкспериментировать с подчиненными запросами вместо исполь зования объединений или сложных условий OR. Оптимальный выбор зависит от многих дискретных факторов, и только эксперимент поможет решить, какой подход использовать.
• Внешние связи следует использовать только при крайней необходимости, поскольку они автоматически требуют проведения сканирования доминантной (сохраняемой) таблицы в объединении.
• Вместо SQL-операторов в коде рекомендуется использовать сохраненные запросы с параметрами. Jet уже скомпилировал запросы с параметрами и создал для них план выполнения (хотя эти планы недоступны в SHOWPLAN.OUT). Использование скомпилированных и сохраненных запросов устраняет необходимость оценки и оптимизации SQL-строки. Access компилирует SQL-строки, использующиеся в качестве источника записей или источника строк для форм, отчетов или элементов управления, поэтому они остаются нетронутыми.
• Рекомендуется всегда использовать скомпилированные запросы.
• Для манипуляций с данными вместо DAO по возможности следует пользоваться запросами. Для решения этих задач запросы (SQL) всегда выполняются быстрее, чем DAO.
• Типы наборов записей следует выбирать с осторожностью. Если необходимо добавить или отредактировать данные, требуется динамическое множество. Снимок или однонаправленный снимок данных может понадобиться в том случае, когда необходимо только считать данные. Снимки дольше открываются, но прокручиваются быстрее.
• При открытии набора записей только для добавления данных следует
использовать опцию
dbAppendOnly.
При этом строки не считываются.
• При использовании данных клиент/сервер необходимо тестировать запросы к серверу. Кроме того, рекомендуется ознакомиться с новыми возможностями Access 2000, имеющими отношение к архитектуре клиент/сервер. Запросы к серверу не всегда выполняются быстрее, чем запросы к вложенным серверным таблицам, но сетевой трафик при их использовании меньше.
• Большие запросы действия могут выполняться лучше, если присвоить свойству
UseTransaction значение False. При проведении транзакций Access создает временные файлы. Иногда эти таблицы становятся слишком большими и уменьшают скорость выполнения запросов.
Содержание раздела