Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 16:26   #1
Marina Andreeva
 
Регистрация: 15.05.2009
Сообщений: 4
По умолчанию Оптимизация импорта из DBF

Здравствуйте! Такая ситуация:
Наша организация периодически получает таблицу dbf с данными. На сегодняшний день там более полутора миллиона записей (1500000). 20 столбцов с разными типами данных. Я работаю статистом и по совместительству приходится импортировать эти данные в interbase, т.к. программист с его алгоритмом уволился. dbf файл без индексов.

Я делаю так: в Delphi7 подключаюсь через ADO (драйвер выбираю foxpro) к этой dbf-таблице, и запросом select * from делаю выборку. Пока даже не записывая в принимающую таблицу. у меня на 100 тысяч записей уходит примерно 3 минуты и ЧЕМ ДАЛЬШЕ-ТЕМ МЕДЛЕННЕЕ. На миллион уходит 2 часа!!. У прежнего прогера уходило 15 минут!

Скажите пожалуйста - какой алгоритм применить или компонент, чтобы ускорить процесс чтения из dbf-файла?
Заранее огромное спасибо)!
Marina Andreeva вне форума Ответить с цитированием
Старый 15.05.2009, 16:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А может он вообще не импортировал физически, а тупо открывал ту DBF... И не через SQL...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2009, 17:21   #3
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

еще могу предложить вариант - создать индексы в дбф-файле
хотя, если нужно импортировать все данные, то вполне хватит листать дбф-файл через TTable
и даже если не все, то проще проверять дубли на процедуре импорта в самом ИБазе
soleil@mmc вне форума Ответить с цитированием
Старый 15.05.2009, 17:41   #4
Marina Andreeva
 
Регистрация: 15.05.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
еще могу предложить вариант - создать индексы в дбф-файле
хотя, если нужно импортировать все данные, то вполне хватит листать дбф-файл через TTable
и даже если не все, то проще проверять дубли на процедуре импорта в самом ИБазе
спасибо за поддержку.

я делаю так: adoTable подключаюсь через драйвер foxpro(через другие еще медленнее) к своей таблице. потом в adoQuery делаю select * from - уходит 2 минуты. потом AdoTable.next и понеслась вышеописанная проблема. может я в корне не права?

в ДБФ-таблице нет дублей. мне надо просто считать и сделать insert в подготовленную таблицу-пустую на интербейсе.
Marina Andreeva вне форума Ответить с цитированием
Старый 15.05.2009, 17:42   #5
Marina Andreeva
 
Регистрация: 15.05.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А может он вообще не импортировал физически, а тупо открывал ту DBF... И не через SQL...
а как, Вы можете предположить? еще одно направление для меня - может спасти
Marina Andreeva вне форума Ответить с цитированием
Старый 15.05.2009, 19:09   #6
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

не знаю как на интербейсе, но на SYBASE ASA можно было вкачать дбф в базу таким способом:
input into <table_name>
from <file_name>.dbf format foxpro
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
касательно импорта данных из Web Volodymyr Microsoft Office Excel 3 14.02.2011 13:38
Выбор файлов для импорта. Sorro Microsoft Office Excel 8 06.05.2009 12:16
Испарвление Записаного макроса импорта с DBF komar73 Microsoft Office Excel 8 24.03.2009 14:06
Автоматизация импорта процедур nerh Общие вопросы Delphi 1 13.10.2008 22:56
сохранение результата выборки из DBF файла в DBF файл с такой же структурой таблицы GazimagomedovM БД в Delphi 5 06.11.2007 17:58