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