Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Задержка при импорте / 20 сообщений из 20, страница 1 из 1
09.06.2012, 11:54
    #37832473
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Доброго времени суток.

Сейчас пробую провести импорт текстового файла в dbf при помощи команды Append from delimited и по завершению импорта, компьютер весьма долго висит.
Связанно скорее всего с тем, что он перегоняет базу из памяти в файл по завершению импорта.

Пример:
Код: sql
1.
2.
3.
USE bd
ZAP
APPEND FROM base type DELIMITED WITH CHARACTER | as 866



База в итоге получается весом в 1Гб.
Это нормально или можно что то с этим сделать?
...
Рейтинг: 0 / 0
09.06.2012, 12:20
    #37832506
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Quieteroks,

На файл base можно посмотреть?
...
Рейтинг: 0 / 0
09.06.2012, 12:26
    #37832514
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

Нет. Уровень секретности 2 уровня...
Могу лишь сказать, что в файле 76 полей, и количество свыше 500 000 строк.
Импорт проходит успешно. Все поля хорошо заполняются в соответствии со структурой dbf файла.
Но возникает не задержка в пару минут при закрытии программы или смены таблицы.
...
Рейтинг: 0 / 0
09.06.2012, 12:40
    #37832537
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Quieteroksпо завершению импорта, компьютер весьма долго висит.Ну так гектар текста распарсить да впихнуть в дбф - дело само по себе небыстрое.
Quieteroksзадержка в пару минут при закрытии программы или смены таблицы Какой код выполняется в это время?
...
Рейтинг: 0 / 0
09.06.2012, 13:01
    #37832586
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
tanglir,

Я понимаю, что 1Гб не так просто обработать. Поэтому и предположил, исходя из наблюдений за изменением файла при работе с ним из командного окна, что возможно висит пока не сохранит все на винчестер.

Особо и кодом то пока назвать нельзя...
Код: sql
1.
2.
3.
4.
5.
6.
7.
USE bd
ZAP
APPEND FROM import/base type DELIMITED WITH CHARACTER | as 866
REPLACE ALL adress WITH ALLTRIM(add_one)+ALLTRIM(add_two)

USE fullbd ** Висит пока закрывается bd
APPEND FROM bd
...
Рейтинг: 0 / 0
09.06.2012, 13:03
    #37832590
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
tanglir,

Нет ли метода, чтоб он порция закидывал в структуру dbf файла данные? Или пускай висит?
...
Рейтинг: 0 / 0
09.06.2012, 13:20
    #37832625
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Quieteroks,

Опция FOR в команде APPEND FROM не устраивает?
...
Рейтинг: 0 / 0
09.06.2012, 13:28
    #37832642
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

хм. А как FOR может помочь с импортом ВСЕХ полей и всех строк из текстового файла? Условия отбора я не делаю.
Или вы предлагаете в цикле импортировать по номеру строк пачками? Тогда лучше сделать импорт на низком уровне...
...
Рейтинг: 0 / 0
09.06.2012, 13:33
    #37832655
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Quieteroks,

Согласен, FOR для текста не годится :(
А насчет низкого уровня интересная мысль - пожалуй, быстрее будет.
Да еще если пачками. Можно попробовать, если 2 минуты ожидания так мешают...
...
Рейтинг: 0 / 0
09.06.2012, 13:36
    #37832663
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

На низком уровне это еще дольше работает... Почему то...
...
Рейтинг: 0 / 0
09.06.2012, 13:38
    #37832667
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
QuieteroksUSE bd
ZAP
APPEND FROM import/base type DELIMITED WITH CHARACTER | as 866
Код: sql
1.
2.
3.
4.
REPLACE ALL adress WITH ALLTRIM(add_one)+ALLTRIM(add_two)

USE fullbd ** Висит пока закрывается bd
APPEND FROM bd

Не пробовал выделенный фрагмент заменить одним SELECT?
...
Рейтинг: 0 / 0
09.06.2012, 13:53
    #37832691
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

Там в файле fullbd странная, более расширенная структура... По сути в любом случае получится тот же apend, но на 70 строк больше... Или скорость от этого увеличится?
...
Рейтинг: 0 / 0
09.06.2012, 14:04
    #37832708
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
На низком уровне - можно порезать исходный CSV-файл на несколько частей, и делать импорт по частям. Общее время, конечно, не уменьшится, но при этом не так будут видны задержки... поскольку можно делать FLUSH после импорта каждого куска.
...
Рейтинг: 0 / 0
09.06.2012, 14:14
    #37832724
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
QuieteroksJonny540,

Там в файле fullbd странная, более расширенная структураИ что? Если структура известна, придется немного руками пошевелить, и всеQuieteroksИли скорость от этого увеличится?Думаю, да. Раза в полтора. Вместо двух "операций" - одна.
...
Рейтинг: 0 / 0
09.06.2012, 14:16
    #37832729
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
AndreTM,

Ясно. Спасибо. Будем думать по поводу низкого уровня. А может и так останется.
...
Рейтинг: 0 / 0
09.06.2012, 14:30
    #37832747
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

replace выполняется в пять секунд для мои 500 000 записей. Висит когда файл закрывается.
Сделать огромный select, который сэкономит пять секунд... Как то не логично вообще, на мой взгляд.

Тогда уж действительно бить файл на части и обрабатывать все на низком уровне. Но этот вариант меня пока не радует, поскольку много кода на тривиальную задачу, которая выполняется в пять раз быстрее текущим способом. Хотя я пока плохо знаю фокс, но пример такого перебора у меня есть.
...
Рейтинг: 0 / 0
09.06.2012, 14:42
    #37832762
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
QuieteroksJonny540,
Сделать огромный select, который сэкономит пять секундЕсли это разовая задача, то да. Но если это еже...ный процесс, то стоит один раз попариться.
А вообще-то эта задачка интересная , впереди 3 выходных, так что в перерывах
между футболами поэкспериментирую... И еще: "настоящий программист долго думает, как сэкономить
10 наносекунд в середине очень короткого цикла" (с)
...
Рейтинг: 0 / 0
09.06.2012, 14:58
    #37832796
Quieteroks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Jonny540,

Это ежемесячный процесс. Один раз пять минут сбор базы и в течении месяца ее использовать.
Вот я и экономлю часть времени, используя стандартные средства. На самом деле перебор на низком уровне пока что работает медленней. Возможно это из-за незнания процесса парсинга txt файлов в фоксе.
...
Рейтинг: 0 / 0
09.06.2012, 17:41
    #37833096
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
Задержка при Use - это скорее Set tablevalidate
задержка при переключении при впихивании большого объема - это скорее sys(1104)
...
Рейтинг: 0 / 0
11.06.2012, 19:04
    #37834594
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задержка при импорте
QuieteroksJonny540,

Это ежемесячный процесс. Один раз пять минут сбор базы и в течении месяца ее использовать.
Вот я и экономлю часть времени, используя стандартные средства. На самом деле перебор на низком уровне пока что работает медленней. Возможно это из-за незнания процесса парсинга txt файлов в фоксе.

по пробуйте читать не по строкам, а страницами.
а уже страницы (которые в памяти) парсить.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Задержка при импорте / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]