Текущий архив: 2006.06.11;
Скачать: CL | DM;
Вниз
Переполнение памяти безобидной функцией. Найти похожие ветки
← →
OlegOren (2006-04-19 08:00) [0]Суть такая в диспетчере задач видно сколько под себя загребла определенная программка и вот я выяснил что после каждого вызова процедуры обновления ADODataSet1.Refresh увеличивается память! Я заметил что это происходит только в том случае, если в таб. есть колонка IMAGE(MSSQL) и увеличение памяти происходит ровно на размер файла который храниться в этой колонке. Т.е. если файл 10 мб, то после 10 вызовов прога занимает 100мб!
Лечиться ли это?
← →
ЮЮ © (2006-04-19 08:33) [1]>Т.е. если файл 10 мб, то после 10 вызовов прога занимает 100мб!
А ADODataSet1 точно возвращает одну запись? Если больше, то колонку IMAGE лучше убрать из этого запроса
← →
OlegOren (2006-04-19 08:50) [2]
> ЮЮ ©
я привел пример одной записи, но если там 5 записей, то соответственно увеличивается сумма размеров 5 записей...
> Если больше, то колонку IMAGE лучше убрать из этого запроса
если убрать ее, то у меня смысл затеи теряться.
Вопрос почему происходить увеличение памяти, ведь при работе с остальными типами этого не происходит ни на грамм.
← →
OlegOren (2006-04-19 08:53) [3]
> ЮЮ ©
По идеи рефреш работает каким образом, он получает данные и размещает в памяти, очередной запуск - стирает старые данные и размещает в памяти новые. Я не думаю что каждый рефреш должен добавляться к старым.
← →
Johnmen © (2006-04-19 09:27) [4]
> OlegOren (19.04.06 08:50) [2]
> если убрать ее, то у меня смысл затеи теряться.
А в чём смысл затеи?
И как эта затея реализована?
> Вопрос почему происходить увеличение памяти, ...
Некорректно реализована затея.
← →
OlegOren (2006-04-19 09:44) [5]
> Некорректно реализована затея.
Создай новый проект. Создай таблицу с колонкой IMAGE загрузи файл, на клиенте обнови раз десять и увидишь результат.
уж не шибко сложен то проект. чего тут некоректно можно реализовать незнаю.
← →
Sergey13 © (2006-04-19 09:57) [6]2 [5] OlegOren (19.04.06 09:44)
Это типа домашнее задание Johnmen-у на выходные?
Я уверен, что у него не получится как у тебя. 8-))))))))))))))))
← →
OlegOren (2006-04-19 10:00) [7]
> Sergey13
:-) Серьезно, если подставить другую таб. в которой нет столбца IMAGE, то такого не присходит. почему?
← →
Johnmen © (2006-04-19 10:10) [8]
> Sergey13 © (19.04.06 09:57) [6]
> Я уверен, что у него не получится как у тебя. 8-))))))))))))))))
Как в воду глядел!
Только что попробовал, из любопытства. Никакого "увеличения памяти" нет!
> OlegOren
А почему Refresh, а не Requery?
:)
← →
ЮЮ © (2006-04-19 11:00) [9]>в диспетчере задач видно сколько под себя загребла
А если свернуть/развернуть окно? что диспетчер покажет?
← →
OlegOren (2006-04-19 12:53) [10]
> ЮЮ ©
никакого изменения
> Johnmen ©
Requery работает нормально, т.е. не загребает память под себя с каждым вызовом.
Refresh-беда:-(
← →
Johnmen © (2006-04-19 13:00) [11]
> OlegOren (19.04.06 12:53) [10]
> Refresh-беда:-(
Да зачем тебе этот рефреш???
← →
OlegOren (2006-04-19 13:23) [12]
> Johnmen ©
Requery достаточно, спасибо
Страницы: 1 вся ветка
Текущий архив: 2006.06.11;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.043 c