powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Задержка при импорте
20 сообщений из 20, страница 1 из 1
Задержка при импорте
    #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
Задержка при импорте
    #37832506
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quieteroks,

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

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

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

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

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

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

На низком уровне это еще дольше работает... Почему то...
...
Рейтинг: 0 / 0
Задержка при импорте
    #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
Задержка при импорте
    #37832691
Quieteroks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540,

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

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

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

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

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

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

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

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


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