![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какие установки и действия должны быть для следующей задачи... [D6, Access]
brestmarket © (2003-03-15 12:29:00)Есть Access *.mdb база, содержащая два поля (телефон и ФИО) состоящая из 300 тыс. записей. Для доступа используется Jet 4.0, ADOSQL, условие доступа ShareDenyWrite.
ВОПРОС: Как наиболее быстро (методы, настройки базы...) осуществлять доступ к базе и делать поиск по первому совпадению и выборку.
Надо ли еще как-то создавать индексы в своей программе, если в самой базе Access поля уже проиндексированы?
p.s. На компьютерах PII база запускается больше 40 секунд.
sniknik (2003-03-15 21:26:00) [1]вопрос расплывчатый (не все понял) как доступ идет (компоненты), если ADOTable то все ясно почему долго (одно открытие вкачивает в рекордсет "300 тыс. записей"). Если же другие то поставь ограничение (WHERE) в используемые запросы.
> ShareDenyWrite - есть необходимость? базу с CD читаеш? нет поставь Share Deny None.
>Надо ли еще как-то создавать индексы в своей программе, если в самой базе Access поля уже проиндексированы?
база одна что в Access что в Delphi раз индекс создан то он везде есть.
> ВОПРОС: Как наиболее быстро (методы, настройки базы...) осуществлять доступ к базе и делать поиск по первому совпадению и выборку.
запросы в любом случае. (только ограниченные а не на всю таблицу)
(выборка 100 записей из 1.5 млн. по индексированному полю идет ~ 20-30 мс. ну конечно о компа тоже зависит)
CursorLocation верни на клиентский, кроме быстрого открытия серверный ничего тебе не даст. (Access локальня база) а проблем добавит (с определением количества выборки, порядкового номера если вдруг нужно, и т.д.).
> поиска с помощью Locate.
делай запрос вместо локейта либо поиск по фильтру (обязательно по индексированному полю) хотя и локейт будет быстрее если найдет индекс (долго, видимо не находит).
brestmarket (2003-03-15 19:39:00) [2]может кто поможет?...
brestmarket (2003-03-15 14:50:00) [3]Спасибо. Приведенный совет действительно позволил быстрей запускать оболочку, но это никак не отразилось на скорости поиска с помощью Locate. Как более эффективно искать и делать выборку в моем случае?
Delirium (2003-03-15 14:37:00) [4]CursorLocation=clServer