MS Access кэширование отчетов / результатов запросов - PullRequest
1 голос
/ 16 июня 2010

Можно ли кэшировать запрос или отчет при первом его запуске? Кажется, что открытие отчета приведет к повторному запросу источника данных. Для некоторых запросов источник данных изменяется недостаточно часто, поэтому я буду беспокоиться о том, что кэш устарел (пользователи уведомляются об изменении базы данных), и пользователям было бы намного легче открывать сообщать немедленно, вместо того, чтобы ждать несколько минут каждый раз, когда они хотят увидеть данные (хотя я понимаю, что если они закроют файл, кеши будут потеряны - это нормально).

Данные поступают из ODBC-соединения с Oracle с использованием Access 2003.

Ответы [ 2 ]

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

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

0 голосов
/ 16 июня 2010

Не могли бы вы оставить отчет открытым все время, пока база данных открыта? Откройте его скрытым, когда откроется база данных.

DoCmd.OpenReport "YourReport", acViewPreview,,,acHidden

Тогда никогда не закрывайте его, пока база данных открыта.

В качестве альтернативы, поскольку вы можете справиться с устареванием кэша, возможно, вы могли бы сохранить данные отчета в локальной таблице для более быстрого доступа. Поскольку пользователи знают о доступности новых данных, дайте им командную кнопку, которая очищает локальную таблицу и помещает в нее последние данные Oracle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...