![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с утечкой памяти при работе с большой таблицей [D5, MSSQL]
big_bugzy © (2003-08-29 13:08:00)
Здравствуйте уважаемые мастера.
У меня такая штука: откраваю в приложении таблицу содержащую ~1.5 млн. записей, иду по каждой записе, и перекачиваю их в другую таблицу предварительно модифицироваф. В диспетчере задачь вижу как используемая память растет со страшной силой. Как этого избежать? я не создаю объектов, не работаю с памятью сам...
big_bugzy (2003-08-29 14:29:00) [1]
Кажись разобрался
поставил CashSize=10000 и память стала переодически освобождаться... во всяком случае пока...
Еще раз всем спасибо
ZrenBy (2003-08-29 14:24:00) [2]
А...
Попробуй CursorType := ctOpenForwardOnly
big_bugzy (2003-08-29 14:19:00) [3]
ZrenBy ©
использую ADODataSet
но с UseServer тормозит зверски...
ZrenBy (2003-08-29 14:16:00) [4]
>>Пока помогло, но тормозить стало жутко
???
Провел тест.
Голый цикл по 100000 записей с UseClient идет > 1 мин
(не стал ждать-убил)
с UseServer ~ 1 сек
Может ты ADOTable используешь ?
big_bugzy (2003-08-29 13:53:00) [5]
А может можно ограничить кеш как-нибудь??
big_bugzy (2003-08-29 13:50:00) [6]
Спасибо всем!
ZrenBy ©
Пока помогло, но тормозить стало жутко :(
Zacho (2003-08-29 13:34:00) [7]
> big_bugzy (29.08.03 13:30) [3]
Не работал с ADO, так что конкретно ничего сказать не могу. Могу посоветовать посмотреть какие компоненты в ADO не организуют кэш записей.
Anatoly Podgoretsky (2003-08-29 13:34:00) [8]
Все говоришь правильно, только ничего из этого не свидетельствуе об утечке, тебе для работы нужно как минимум 1 500 000 * размер записи * накладные расходы.
ZrenBy (2003-08-29 13:32:00) [9]
CursorLocation = clUseServer
big_bugzy (2003-08-29 13:30:00) [10]
Zacho ©
Я использую адошные компоненты ,у них нет UniDirectional...
Anatoly Podgoretsky ©
Я смотрел только диспетчер задач... память используемая увеличивается и через некоторое время винда начинает говорить что виртуальная память кончается...
Zacho (2003-08-29 13:16:00) [11]
UniDirectional:=true; решение твоей проблемы.
Anatoly Podgoretsky (2003-08-29 13:10:00) [12]
Ты уверен, что у тебя есть утечка? Как ты это проверил, кроме наблюдения ща монитором.