Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как ускорить выполнение запроса? / 9 сообщений из 9, страница 1 из 1
26.03.2004, 15:34
    #32458814
john doe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить выполнение запроса?
Access XP. mdb
Есть приликованный таблицы через ODBC.
На одну из них простейший запрос по ключевому полю выполняется минут 5.
Количество записей в таблице 150 тыс.
Может есть какая-то возможность ускорить этот процесс.
...
Рейтинг: 0 / 0
26.03.2004, 16:18
    #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
26.03.2004, 16:20
    #32458912
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить выполнение запроса?
вариант 2
использование адо
...
Рейтинг: 0 / 0
26.03.2004, 16:24
    #32458924
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить выполнение запроса?
ну или ODBCDirect ;)
...
Рейтинг: 0 / 0
26.03.2004, 16:34
    #32458953
Как ускорить выполнение запроса?
присоединяюсь
если не надь в итоге получить обновляемого набора в форму, выполните запрос на сервере (Pass-Through Query = "Запрос к серверу"). Если нужна обновляемая выборка для рекордсета - то выполняйте не JEt запрос к прилинкованной таблице, а ODBCDirect.
...
Рейтинг: 0 / 0
26.03.2004, 20:18
    #32459232
swerg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить выполнение запроса?
Пацаны подскажите лоху (т.е. мне), что такое ODBCDirect. Хотя бы очень коротко (может ссылку подскажете) :-)))))

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

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

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

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

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

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


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