|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Доброго времени суток. Сейчас пробую провести импорт текстового файла в dbf при помощи команды Append from delimited и по завершению импорта, компьютер весьма долго висит. Связанно скорее всего с тем, что он перегоняет базу из памяти в файл по завершению импорта. Пример: Код: sql 1. 2. 3.
База в итоге получается весом в 1Гб. Это нормально или можно что то с этим сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 11:54 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Quieteroks, На файл base можно посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 12:20 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, Нет. Уровень секретности 2 уровня... Могу лишь сказать, что в файле 76 полей, и количество свыше 500 000 строк. Импорт проходит успешно. Все поля хорошо заполняются в соответствии со структурой dbf файла. Но возникает не задержка в пару минут при закрытии программы или смены таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 12:26 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Quieteroksпо завершению импорта, компьютер весьма долго висит.Ну так гектар текста распарсить да впихнуть в дбф - дело само по себе небыстрое. Quieteroksзадержка в пару минут при закрытии программы или смены таблицы Какой код выполняется в это время? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 12:40 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
tanglir, Я понимаю, что 1Гб не так просто обработать. Поэтому и предположил, исходя из наблюдений за изменением файла при работе с ним из командного окна, что возможно висит пока не сохранит все на винчестер. Особо и кодом то пока назвать нельзя... Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:01 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
tanglir, Нет ли метода, чтоб он порция закидывал в структуру dbf файла данные? Или пускай висит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:03 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Quieteroks, Опция FOR в команде APPEND FROM не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:20 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, хм. А как FOR может помочь с импортом ВСЕХ полей и всех строк из текстового файла? Условия отбора я не делаю. Или вы предлагаете в цикле импортировать по номеру строк пачками? Тогда лучше сделать импорт на низком уровне... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:28 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Quieteroks, Согласен, FOR для текста не годится :( А насчет низкого уровня интересная мысль - пожалуй, быстрее будет. Да еще если пачками. Можно попробовать, если 2 минуты ожидания так мешают... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:33 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, На низком уровне это еще дольше работает... Почему то... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:36 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
QuieteroksUSE bd ZAP APPEND FROM import/base type DELIMITED WITH CHARACTER | as 866 Код: sql 1. 2. 3. 4.
Не пробовал выделенный фрагмент заменить одним SELECT? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:38 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, Там в файле fullbd странная, более расширенная структура... По сути в любом случае получится тот же apend, но на 70 строк больше... Или скорость от этого увеличится? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 13:53 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
На низком уровне - можно порезать исходный CSV-файл на несколько частей, и делать импорт по частям. Общее время, конечно, не уменьшится, но при этом не так будут видны задержки... поскольку можно делать FLUSH после импорта каждого куска. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:04 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
QuieteroksJonny540, Там в файле fullbd странная, более расширенная структураИ что? Если структура известна, придется немного руками пошевелить, и всеQuieteroksИли скорость от этого увеличится?Думаю, да. Раза в полтора. Вместо двух "операций" - одна. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:14 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
AndreTM, Ясно. Спасибо. Будем думать по поводу низкого уровня. А может и так останется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:16 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, replace выполняется в пять секунд для мои 500 000 записей. Висит когда файл закрывается. Сделать огромный select, который сэкономит пять секунд... Как то не логично вообще, на мой взгляд. Тогда уж действительно бить файл на части и обрабатывать все на низком уровне. Но этот вариант меня пока не радует, поскольку много кода на тривиальную задачу, которая выполняется в пять раз быстрее текущим способом. Хотя я пока плохо знаю фокс, но пример такого перебора у меня есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:30 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
QuieteroksJonny540, Сделать огромный select, который сэкономит пять секундЕсли это разовая задача, то да. Но если это еже...ный процесс, то стоит один раз попариться. А вообще-то эта задачка интересная , впереди 3 выходных, так что в перерывах между футболами поэкспериментирую... И еще: "настоящий программист долго думает, как сэкономить 10 наносекунд в середине очень короткого цикла" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:42 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Jonny540, Это ежемесячный процесс. Один раз пять минут сбор базы и в течении месяца ее использовать. Вот я и экономлю часть времени, используя стандартные средства. На самом деле перебор на низком уровне пока что работает медленней. Возможно это из-за незнания процесса парсинга txt файлов в фоксе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 14:58 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
Задержка при Use - это скорее Set tablevalidate задержка при переключении при впихивании большого объема - это скорее sys(1104) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:41 |
|
Задержка при импорте
|
|||
---|---|---|---|
#18+
QuieteroksJonny540, Это ежемесячный процесс. Один раз пять минут сбор базы и в течении месяца ее использовать. Вот я и экономлю часть времени, используя стандартные средства. На самом деле перебор на низком уровне пока что работает медленней. Возможно это из-за незнания процесса парсинга txt файлов в фоксе. по пробуйте читать не по строкам, а страницами. а уже страницы (которые в памяти) парсить. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 19:04 |
|
|
start [/forum/topic.php?fid=41&msg=37833096&tid=1583627]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
91ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 206ms |
0 / 0 |