Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6497
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.10.19 16:34. Заголовок: Сервер-терминалов и APPEND BLANK
Привет всем ! Столкнулся уже давно с непоняткой, всё руки не доходили. Делаю изменение структуры базы и копирую записи в новую базу, типа такого: USE (cPath + cFile) ALIAS BASE_OLD EXCLUSIVE NEW USE (cPath + cFile2) ALIAS BASE_NEW EXCLUSIVE NEW ..... SELECT BASE_OLD DO WHILE !EOF() SELECT BASE_OLD // считываю поля в массив aDim IF nI % 500 == 0 // вывод бегунка // вывод надписи и %бегунка ENDIF SELECT BASE_NEW APPEND BLANK // записываю в новую базу aDim FOR nJ := 1 TO LEN(aDim) ..... NEXT SELECT BASE_OLD SKIP nI++ ProcessMessages() // Чтобы форма НЕ замирала ENDDO На домашнем компе да у других юзеров операция проходит минуты за 2 (база порядка 100 тыс.записей). Но вот на сервере-терминалов у одного юзера операция длиться 1 час 20 минут. Сервер хороший 8Гб оперативка, мощнее домашнего компа против 4Гб. система 64bit Windows Server R2 Standart, проц Xeon 4 процессорный 3.10 Ггц Почему так ? Как ускорить эту операцию ? Прога на последних версиях МиниГуи, т.е. Харбор последний версии.
|
|
|
Ответов - 6
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1568
Зарегистрирован: 27.01.07
|
|
Отправлено: 29.10.19 16:46. Заголовок: Какая дисковая систе..
Какая дисковая система? RAID? Аппаратный или программный? Какого уровня? Какие использованы диски? Как настроено кэширование?
|
|
|
|
| |
Пост N: 241
Зарегистрирован: 05.10.06
|
|
Отправлено: 29.10.19 18:58. Заголовок: почему APPEND FROM н..
почему APPEND FROM не подходит ?
|
|
|
|
| постоянный участник
|
Пост N: 6499
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.10.19 21:57. Заголовок: PSP пишет: Какая ди..
PSP пишет: цитата: | Какая дисковая система? RAID? Аппаратный или программный? Какого уровня? Какие использованы диски? Как настроено кэширование? |
| Не знаю... Завтра уточню. MIKHAIL пишет: цитата: | почему APPEND FROM не подходит ? |
| Не помню из-за чего.... В базе использую новые типы полей: + AutoInc 4 Auto increment = ModTime 8 Last modified date & time of this record ^ RowVers 8 Row version number; modification count of this record @ DayTime 8 Date & Time и при переписывании из одной базы в другую есть возможность контролировать процесс записи.
|
|
|
|
| |
Пост N: 242
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.10.19 09:05. Заголовок: Может стоит замерить..
Может стоит замерить время выполнения операций в цикле ? отключить обновление формы например
|
|
|
|
| постоянный участник
|
Пост N: 1569
Зарегистрирован: 27.01.07
|
|
Отправлено: 30.10.19 09:47. Заголовок: Andrey пишет: Не зн..
Andrey пишет: цитата: | Не знаю... Завтра уточню. |
| Необязательно. Мой пост был к тому, что на это нужно обратить внимание. Разбираться тут с чужим серваком нет никакого желания))
|
|
|
|
| постоянный участник
|
Пост N: 6950
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.05.21 02:31. Заголовок: Программа на МиниГуи..
Программа на МиниГуи, т.е. Харбор последней версии. На локальном компе проверки по базам идут - 1 минута (Win8.1 32bit, i5, CPU 3.4GHz, RAM 8Gb-3.47 доступно) ), а на таком же компе где стоит сервер-терминалов (Win2012R2 64bit, i5 CPU 2.9GHz, RAM 16Gb-15.8 доступно) проверка идёт - 21 минуту. Почему такая разница. Где можно подшаманить в настройках сервера ? Проверки разные, чтение или запись полей из одной базы в другую базу, без APPEND BLANK. Кол-во записей в базе всего 60 тыс.
|
|
|
|