Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Быстрое открытие линкованных таблиц  [new]
Nashville
Member

Откуда:
Сообщений: 212
Что имеем:
mdb файл в котором набор линкованных таблиц из разных mdb файлов защищенных с помощью системной базы данных.

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

Вопрос:
Как минимизировать время, требуемое на выполнение запроса, который находиться в том же mdb файле, что и линкованные таблицы, причем предполагается вызывать запрос из кода программы.
23 мар 05, 23:06    [1410446]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое открытие линкованных таблиц  [new]
Andres 1
Member

Откуда: Эстония
Сообщений: 1191
А в чем проблема?

На порядок - это нормально. Если обычная таблица, например, 0,1 сек - то связанная 1 сек. Связанные таблицы по определению медленнее.

И вообще-то не очень понятно, что у вас там тормозить может? То есть вариантов много. Скорее всего тормозит сеть.

По вопросу как сделать, чтобы было быстрее, ответ стандартный:
1) Перейти с файл-сервера (mdb) на клиент-сервер (adp)
2) Общая оптимизация машин: дефрагментация дисков, докупка памяти, настройка Windows, качественные сетевые карты, и т.д. и т.п.
3) Общая оптимизация приложений Access: хорошая бд (нормализованная и продуманная), индексы и т.д. и т.п.
24 мар 05, 00:42    [1410532]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое открытие линкованных таблиц  [new]
Rafa
Member

Откуда: http://access.boom.ru/
Сообщений: 404
4) Общая оптимизация программного кода (вон человек уже в DAO копается)
24 мар 05, 00:58    [1410541]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое открытие линкованных таблиц  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
Вы не указали версию акцесса, поэтому возможно, не все рекомендации сгодятся. Кроме того, для Вашего случая, универсальной таблетки может и не
подобраться по причине множественности источников.
Общие же рекомендации для ускорения открытия линкованных таблиц
могут быть найдены поиском по форуму.

В порядке известности-применимости к версиям, и без оценки степени эффективности они будут примерно такими:

1. Держать базу, из которой линкуются таблицы открытой.
(по умолчанию она закроется, как только будет закрыта
последняя таблица/запрос/форма на линке)
1.А (Традиционный совет во множестве изложений, документированный для всех версий) Завести скрытую форму, поднимаемую при старте приложения, источником которой является линкованная таблица. база-источник будет открыта, пока открыта эта форма.
[1.Б если нужно отрефрешить линкованные таблицы, то либо после рефреша первой таблицы открывайте рекордсет/скрытую форму на этой таблице, либо действуйте по схеме 1.В - в любом случае последующие рефреши ускорятся.
]
[1.В (лично не проверено) явно открыть базу-источник в текущем workspace.
тогда для версий >= 2000 формам можно присваивать рекордсеты, образованные на этой базе. Должно-бы ускориться выполнение методов
типа DOCMD.OPenQuery,...RUnSQL ...TransferDatabase и т.д. Очень даже
может быть, что ускорится открытие таблиц в интерфейсе - без точных
обещаний. ]


2. Максимально сократить "глубину в дереве каталогов" до линкованной таблицы.
2.1 Идеально, если получится привести мапировку пути к базе, содержащй линкованные таблицы к виду X:\YourBase.mdb, при этом имя базы
само по себе укладывается в 8.3 имя.
2.2 Вариация, если по каким либо причинам 2.1 не выполнить не удается, то, заменить полный путь к базе в описании линка на сокращение, выполненное в соглашениях MS-DOS 8.3 имен, типа - C:\Progra~1\Micros~1\Office\excel.exe


3. Для A>=2K в своиствах таблиц базы источника установить свойство
"Имя подтаблицы" = [Нет].
(описано здесь http://support.microsoft.com/default.aspx?scid=kb;en-us;261000&Product=acc2000)

4. Если фронт mdb версии 2K и старше, а бэк - 97, - переведите
файл с таблицами в старший формат.


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

В части 5, среди прочего (сам не проверял), должно симпатично смотреться отключение поддержки DOS - имен в реестре в комбинации с 2 (мапировка базы с данными на корень логического устройства.), а комбинации с правильно настроенной сеткой - это может шчастье, а не жисть настать...




(с выражением лица)
24 мар 05, 02:55    [1410611]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое открытие линкованных таблиц  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
надо сказать - пока шкрябал, подсматривал сюда
http://www.granite.ab.ca/access/performancefaq.htm
24 мар 05, 02:59    [1410612]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое открытие линкованных таблиц  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
код по автоматической замене путей в линках на 8.3 имена здесь:
http://support.microsoft.com/?kbid=891176
24 мар 05, 03:50    [1410626]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить