![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.05.2009
Сообщений: 4
|
![]()
Здравствуйте! Такая ситуация:
Наша организация периодически получает таблицу dbf с данными. На сегодняшний день там более полутора миллиона записей (1500000). 20 столбцов с разными типами данных. Я работаю статистом и по совместительству приходится импортировать эти данные в interbase, т.к. программист с его алгоритмом уволился. dbf файл без индексов. Я делаю так: в Delphi7 подключаюсь через ADO (драйвер выбираю foxpro) к этой dbf-таблице, и запросом select * from делаю выборку. Пока даже не записывая в принимающую таблицу. у меня на 100 тысяч записей уходит примерно 3 минуты и ЧЕМ ДАЛЬШЕ-ТЕМ МЕДЛЕННЕЕ. На миллион уходит 2 часа!!. У прежнего прогера уходило 15 минут! Скажите пожалуйста - какой алгоритм применить или компонент, чтобы ускорить процесс чтения из dbf-файла? Заранее огромное спасибо)! |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А может он вообще не импортировал физически, а тупо открывал ту DBF... И не через SQL...
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
еще могу предложить вариант - создать индексы в дбф-файле
хотя, если нужно импортировать все данные, то вполне хватит листать дбф-файл через TTable и даже если не все, то проще проверять дубли на процедуре импорта в самом ИБазе |
![]() |
![]() |
![]() |
#4 | |
Регистрация: 15.05.2009
Сообщений: 4
|
![]() Цитата:
я делаю так: adoTable подключаюсь через драйвер foxpro(через другие еще медленнее) к своей таблице. потом в adoQuery делаю select * from - уходит 2 минуты. потом AdoTable.next и понеслась вышеописанная проблема. может я в корне не права? в ДБФ-таблице нет дублей. мне надо просто считать и сделать insert в подготовленную таблицу-пустую на интербейсе. |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 15.05.2009
Сообщений: 4
|
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
не знаю как на интербейсе, но на SYBASE ASA можно было вкачать дбф в базу таким способом:
input into <table_name> from <file_name>.dbf format foxpro
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
касательно импорта данных из 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 |