Как можно ускорить поиск в 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 записей с множеством полей размером ~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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д