Запросы доступа работают медленно - PullRequest
3 голосов
/ 19 октября 2010

У меня есть приложение с внешним интерфейсом в Access 2007 (файл Access 2000) с внутренним сервером на SQL Server 2008. Приложение работает уже два года, и я заметил, что на некоторых ПК запросы выполняются всегда беги пока на других бегает довольно быстро. Каждый ПК имеет свой собственный файл Access, поэтому они не делятся файлом.

Простые запросы с одной таблицей занимают много времени. Самая большая таблица имеет 578 000 записей.

Иногда загрузка простой таблицы с 6 записями занимает всего 10 секунд. Мы находимся в гигабитной сети.

Ответы [ 5 ]

1 голос
/ 26 октября 2010

SET EXPLAIN ON ... чтобы увидеть накладные расходы, связанные с запросами.

Попробуйте перестроить ваши индексы и использовать кластеризацию, где уместно группировать строки по идентификатору клиента или любому столбцу, который требуется вашему приложению.Если это не помогает, то проблема может заключаться в том, что SQL'08 имеет больше служебных данных, чем '05, и вам может потребоваться увеличить объем памяти или увеличить нагрузку на процессор.

1 голос
/ 19 октября 2010

имеют ли устройства, работающие вечно, меньше памяти, чем у быстрых?

также проверяют версии драйверов ODBC на клиентах.

0 голосов
/ 26 октября 2010

Я удалил связанные таблицы в Access и добавил их снова. Похоже, это значительно улучшило время запроса.

Какой драйвер лучше подключить к SQL Server 2008: собственный клиент SQL Server 10.0 v.2007.100.2531.00 или SQL Server v. 2000.85.1132.00

Я использовал соединение с ODBC-драйвером SQL Server Microsoft SQL Server ODBC Driver Version 03.85.1132

0 голосов
/ 19 октября 2010

Попробуйте обновить статистику на сервере SQl.

0 голосов
/ 19 октября 2010

Это может быть вызвано тем, что пользователи присоединяются к локальной таблице с таблицей на SQL Server.

Соединение локальной таблицы с таблицей SQL Server заставляет Доступ к получить всю таблицу SQL Server и выполнить объединение на локальном компьютере.

У нас были подобные проблемы в прошлом.

...