powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как ускорить выполнение запроса?
9 сообщений из 9, страница 1 из 1
Как ускорить выполнение запроса?
    #32458814
john doe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Access XP. mdb
Есть приликованный таблицы через ODBC.
На одну из них простейший запрос по ключевому полю выполняется минут 5.
Количество записей в таблице 150 тыс.
Может есть какая-то возможность ускорить этот процесс.
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32458907
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pass-Through Query

pass-through query: An SQL-specific query you use to send commands directly to an ODBC database server. By using pass-through queries, you work directly with the tables on the server instead of having the Microsoft Jet database engine process the data
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32458912
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант 2
использование адо
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32458924
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или ODBCDirect ;)
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32458953
присоединяюсь
если не надь в итоге получить обновляемого набора в форму, выполните запрос на сервере (Pass-Through Query = "Запрос к серверу"). Если нужна обновляемая выборка для рекордсета - то выполняйте не JEt запрос к прилинкованной таблице, а ODBCDirect.
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32459232
swerg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пацаны подскажите лоху (т.е. мне), что такое ODBCDirect. Хотя бы очень коротко (может ссылку подскажете) :-)))))

Я согласен, что надо использовать Pass-Through Query, иначе MS Access вытягивает все записи в себя и выполняет запрос сам. На 150.000 записей, 5 минут - это не так уж грусно - могло быть и хуже...
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32459655
john doe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё хорошо, заработало. Спасибо.

Но появился новый вопрос: как теперь обращаться к рекордсету через ODBCDirect ?
Раньше была прилинкована соответствующая таблица:

Reports!квартира_А4!квартира_А4собств.Report.RecordSource = "SELECT Owners.FMOWNER, Owners.NMOWNER, Owners.PTOWNER, Owners.CODEOWN ROM Owners WHERE (" & OwnersTemp & ")"

А как теперь быть ?
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32459658
john doe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имелось в виду как обращаться к RecordSource

P.S. в запросе опечатка ROM=FROM
...
Рейтинг: 0 / 0
Как ускорить выполнение запроса?
    #32459698
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, я глючу по части возможной реализцаии этого в Access, но:
1) Проверь, проиндексировано ли поле, по которому делается выборка.
2) Через ADO по этому полю делается выборка.

PS. От ODBC стоит отказываться: ему на смену уже есть хорошая альтернатива - провайдер OLE DB, который работает побыстрее и в общем куда менее глючный.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как ускорить выполнение запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]