Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

Увеличение затрат ОП при использовании ADO   Найти похожие ветки 

 
Ик сик   (2003-03-17 15:59) [0]

Имеется ADODataSet. При подключении к БД опер. память, занимаемая программой подскакивает с 2,8 mb до 6,4 mb, причем после ADODataSet.close или ADODataSet.active := false эта память не освобождается.
В чем тут проблема и можно ли ее решить?


 
Ик сик   (2003-03-17 16:19) [1]

Удалено модератором
Примечание: Создание пустых сообщений


 
Ик сик   (2003-03-17 16:38) [2]

Удалено модератором
Примечание: Со


 
Kuusiniemi ©   (2003-03-17 16:43) [3]

А кто сказал, что она должна освобождаться? Билл Гейтс это Вам сказал?


 
Соловьев ©   (2003-03-17 16:43) [4]

Зачем тебе это? Просто, ради ознакомления?


 
Ик сик   (2003-03-17 16:55) [5]

Зачем освобождать память? Нуу... чтобы больше ее было :))
Программа периодически пополняет базу данных информацией из внешних источников. При каждом запросе занимаемая оперативка увеличивается. После двух часов работы - 17 mb/


 
jocko ©   (2003-03-17 16:58) [6]

наверное потому, что ADODataSet только обертка для интерфейса _Recordset, количество ссылок при закрытии не уменьшается вот память и не освобождатся...
вообще вопрос интересный, особенно в условиях критичности приложения к ресурсам


 
Соловьев ©   (2003-03-17 17:00) [7]

А если сделать ADODataSet динамически создаваемым?


 
Ик сик   (2003-03-17 17:05) [8]

Даже после AdoDataSet.free память не освобождается.


 
Ик сик   (2003-03-17 17:11) [9]

Ладно, я сейчас ухожу, у меня рабочий день закончился, завтра попытаюсь разобраться.


 
a123 ©   (2003-03-17 17:56) [10]

Ик сик, можно узнать у Вас как Вы занимаемую память считаете?


 
Ик сик   (2003-03-18 11:37) [11]

Ну существует такая вещь как Task Manager в Win2K... :))


 
aterm   (2003-03-18 11:38) [12]

Я тоже копался с этим:)
Можно узнать размер хотя бы при помощи TaskManager-a в win2k:)
Дело в том, что увеличивается и размер используемой виртуальной памяти!
А самое банальное...
Пример:
AdoQuery1.sql:="insert into some_table_name some ("some value")":)
Вот на этой строке размер и увеличивается!
Увеличивается примерно на 2 мега.


 
Shaman ©   (2003-03-18 12:22) [13]

Используй dbExpress. Он в этом плане гораздо легче и эффективнее. Правда в 6-х дельфях нет поддержки MSSQL (можно взять драйвера из 7-х) и OS Authentication работает половинчато, но с этим мириться можно.


 
aterm   (2003-03-18 12:59) [14]

Даже если создавать компонент динамически, результат такой же.
Объем занимаемой памяти увеличивается во время выполнения запроса. Даже после уничтожения компонента размер не уменьшается.


 
Ик сик   (2003-03-18 15:09) [15]

Неужели никто не знает как с этим разобраться?


 
aterm   (2003-03-18 15:27) [16]

Проблема возникает даже при использовании TQuery!
Память просто не освобждается!


 
jocko ©   (2003-03-18 17:18) [17]

Могу предположить:
Память занимаемая интерфейсом освобождается при обнуленни количества ссылок на него, ADODataSet, мне так кажется, лежит (принадлежит) на главной форме? если положить его на модуль данных и затем уничтожить его (модуль данных) - память освободится.
Проверить сейчас не могу, интересно услышать мнения...


 
Ик сик   (2003-03-19 12:24) [18]

Не получается, тоже самое



Страницы: 1 вся ветка

Текущий архив: 2003.04.07;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
14-19796
Дмитрий К.К.
2003-03-19 09:49
2003.04.07
MS Outlook Express 5.50


1-19586
Tornado
2003-03-28 15:14
2003.04.07
работа с директориями


1-19615
zje
2003-03-25 11:54
2003.04.07
Подскажите про TMonthCalendar !!!!


1-19538
Маркыч
2003-03-26 18:28
2003.04.07
CoolBar


3-19424
yurikon03
2003-03-16 13:24
2003.04.07
Добавление записи в дочерней таблице