|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Здравствуйте. Столкнулся с такой фичей в MS Visual FoxPro 9: после сравнения 2-х больших DBF-ок (одна на 200 Мб, вторая тянет на 1,5 Гб) очень долго происходит закрытие этих самых файлов. Открывал в режиме EXCLUSIVE. В конце поставил USE IN (fDbf1) и USE IN (fDbf2) -- программа закрывала их минут 20-25. Как-то это грустно, при том, что сравнение проходит минут за 10... Можно это побороть и ускорить процесс? (Пока идет сравнение программа "съедает" до 700 Мб оперативки. Поскольку сервер -- не важно, но процесс закрытия и отдачи этой памяти удручает...) Да, ещё вопрос. При первом открытии DBF приложение выдает системный диалог с предложение указать кодировку файла (у меня используются DOS-ские DBF_ки, созданные Clipper-ом) -- можно как-то в программе задать, что "кодировка такая" и пусть не спрашивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2013, 22:49 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Кодовую страницу в заголовке файла Клиперовского dbf можно прописать очень простым способом: nOnFileDbf = FOPEN(FULLPATH("")+"ClipDate.dbf",2) IF nOnFileDbf > 0 = FSEEK(nOnFileDbf,29) && Перемещаемся к 29 байту в заголовке = FWRITE(nOnFileDbf,CHR(101)) && Прописываем код 866 = FCLOSE(nOnFileDbf) ENDIF Только нужно учесть, что прописывать нужно в файл открытом монопольно, и Клиппер при открытии этой таблице опять исправит на свою нулевую кодовую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2013, 10:03 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
erheЗдравствуйте. Столкнулся с такой фичей в MS Visual FoxPro 9: после сравнения 2-х больших DBF-ок (одна на 200 Мб, вторая тянет на 1,5 Гб) очень долго происходит закрытие этих самых файлов. Открывал в режиме EXCLUSIVE. В конце поставил USE IN (fDbf1) и USE IN (fDbf2) -- программа закрывала их минут 20-25. Как-то это грустно, при том, что сравнение проходит минут за 10... Можно это побороть и ускорить процесс? (Пока идет сравнение программа "съедает" до 700 Мб оперативки. Поскольку сервер -- не важно, но процесс закрытия и отдачи этой памяти удручает...) При сравнении запись в DBF происходит? подозреваю что происходит, эти изменения кэшируются на клиенте, а при закрытии пишутся в файл, поэтому и тормоз. Плюс индексы перестраиваются. Попробуй в начале поставить Код: sql 1.
По-хорошему такие операции надо запускать на том компе где DBF-ки лежат, тогда быстрее будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2013, 10:25 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Дед Евгений, спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2013, 19:35 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Dima TПри сравнении запись в DBF происходит? подозреваю что происходит, эти изменения кэшируются на клиенте, а при закрытии пишутся в файл, поэтому и тормоз. Плюс индексы перестраиваются. Попробуй в начале поставить Код: sql 1.
По-хорошему такие операции надо запускать на том компе где DBF-ки лежат, тогда быстрее будет. Запись идет в 3-ю DBF -- результат сверки. Отключить автосохранение попробую. Да, операция идет на самом сервере -- и ехе-шка там лежит и DBF-ки. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2013, 19:38 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Отключение автосохранения не помогло -- закрывает так же долго. А вот с указанием кодировки всё замечательно. Спасибо за помощь. ЗЫЖ Грустно, конечно, что закрывает так долго, но время сравнения (10 минут сама работа + 30 на закрытие DBF) -- вполне пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 09:10 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
erheЗЫЖ Грустно, конечно, что закрывает так долго, но время сравнения (10 минут сама работа + 30 на закрытие DBF) -- вполне пойдет. Ненормально это. 30 минут очень много чтоб файл локально сохранить. Может с замерами времени что-то не так? Навставляй записи в лог, как-то так Код: sql 1. 2. 3. 4. 5.
MyResult замени на свою 3-ю DBF ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 09:28 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Dima T, А перенести эти данные в MS SQL, например никак нельзя? Тебе немногго пописать вьюхи и будет работат разочков в 50 быстрее. Это если есть возможность, конечно ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2013, 13:34 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
FAMDima T, А перенести эти данные в MS SQL, например никак нельзя? Тебе немногго пописать вьюхи и будет работат разочков в 50 быстрее. Это если есть возможность, конечно ) Во-первых проблема не у меня. Во-вторых MS SQL не быстрее фокса работающего с монопольно открытыми таблицами, находящимися на этом же компе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2013, 18:27 |
|
VFP 9 -- долго закрывает DBF
|
|||
---|---|---|---|
#18+
Проблема может быть и в самом компе (ОС, ФС). Фоновые процессы более высокого приоритета (сервер всё же), фрагментация файлов (ведь под них отдельный раздел или диск не выделены?), наконец, банальные проблемы с драйверами дисков... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2013, 19:49 |
|
|
start [/forum/topic.php?fid=41&msg=38508900&tid=1582795]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 160ms |
0 / 0 |