Access 2002

Объект Recordset DAO типа Snapshot


Если вам нужен объект Recordset DAO типа Snapshot или статический объект Recordset ADO и вы не собираетесь просматривать его в обратном направлении, создайте объект с последовательным доступом. ADO по умолчанию создает именно такие объекты Recordset.

Если вы создаете объект Recordset DAO только для того, чтобы добавить в него новые записи, открывайте его с установленной опцией dbAppendOnly.

ADO не поддерживает опцию dbAppendOnly, поэтому вам нужен какой-нибудь другой способ создания объекта для добавления записей. Например, можно открыть набор записей с помощью SQL-стро- ки с предложением WHERE, не возвращающим ни одной записи.

Обращаясь к источнику данных, работающему по технологии клиент/сервер, используйте специальный запрос к серверу (pass-through). Впрочем, такие запросы не всегда выполняются быстрее обычных.

Выполняя большие запросы на добавление, удаление или обновление данных, устанавливайте свойство запроса UseTransaction в False, чтобы Access не выполняла этот запрос как одну транзакцию. (Однако в случае запросов средних размеров отключение опции UseTransaction может сильно замедлить их выполнение, так что с этой опцией нужно обращаться осторожно.)

О Если вы собираетесь с помощью кода ADO или DAO добавить в таблицу большое количество записей, попробуйте открыть набор записей с флагом dbOpenTable для DAO или с флагом adCmdTableDirect для ADO. Это позволит Jet произвести данную операцию максимально быстро.

Следующие несколько ов относятся к индексам и их использованию в базах данных. Хотя индексы невероятно ускоряют поиск и сортировку данных, пользоваться ими нужно умеючи.

Обновление данных, как правило, быстрее выполняется в неиндексированных столбцах. Так что если вы собираетесь добавлять или модифицировать большое количество строк таблицы, для ускорения работы обычно имеет смысл удалить индексы, выполнить изменения, а затем создать индексы повторно.

Комментарии закрыты