Как можно ускорить поиск в dbf файле ~250000 строк - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день всем!
Есть *.dbf файл содержащий ~250000 записей с множеством полей размером ~700 МБ.
Необходимо по значению двух полей найти запись и подставить в Excel значение трех других полей.
Использую VFPODBC. Первоначально при каждом поиске создавал Recordset, а в sql-запросе указывал условие поиска.

Время выполнения запроса на Atom N270 1GB RAM - от 20 до 40 секунд.
Сейчас открываю Recordset с SQL запросом без условия при открытии документа. А ищу нужную запись накладыванием фильтра на Recordset.

Документ дольше открывается, занимает больше памяти. Но поиск записи выполняется за ~8 секунд.
Есть ещё одна таблица, по объёму в два раза больше, количество записей не знаю. По второй таблице поиск осуществляется за ~15 секунд.
Как можно ускорить поиск в *.dbf?
Как указать индексный файл при использовании VFPODBC? Наличие файла ускорит поиск в первоначальном варианте?
При положительном ответе на предыдущий вопрос, как создать индексный файл VBS-скриптом с использованием VFPODBC драйвера?

Решение задачи: «Как можно ускорить поиск в dbf файле ~250000 строк»

textual
Листинг программы
select R24, R25, R26, r55+r56 as r55_56 from vxxx.dbf

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы